1. 程式人生 > 其它 >java-異常-異常注意事項

java-異常-異常注意事項

 1 package p1.exception;
 2 
 3 /*
 4  * 異常的注意事項:
 5  * 
 6  * 1,子類在覆蓋父類方法時,父類的方法如果丟擲了異常,
 7  * 那麼子類的方法只能丟擲父類的異常或者該異常的子類。
 8  * 
 9  * 2,如果父類丟擲多個異常,那麼子類只能丟擲父類異常的子集。
10  * 
11  * 簡單說:子類覆蓋父類只能丟擲父類的異常或者子類或者子集。
12  * 
13  * 注意:如果父類方法沒有丟擲異常,那麼子類覆蓋時絕對不能拋,就只能try
14  */
15 interface Inter{
16     void function();
17 } 18 19 class D implements Inter{ 20 public void function()// throws Exception, 21 } 22 23 24 25 class A extends Exception{ 26 27 } 28 class B extends A{ 29 30 } 31 class C extends Exception{ 32 33 } 34 35 Exception 36 |--A 37 |--B 38 |--C 39 40 class Fu{ 41
void show()throws A{ 42 43 } 44 } 45 46 class Zi extends Fu{ 47 void show()throws B{//可以不拋,可以丟擲A和B,不能丟擲C 48 49 } 50 } 51 52 53 54 class Fu{ 55 void show()throws A{ 56 57 } 58 } 59 60 class Test{ 61 void method(Fu f) { 62 try { 63 f.show();
64 //有子類但是新丟擲的是C異常,下面就處理不了 65 } catch (A e) { 66 67 } 68 } 69 } 70 71 class Zi extends Fu{ 72 void show()throws C{ 73 74 } 75 } 76 77 public class ExceptionDemo6 { 78 79 public static void main(String[] args) { 80 // TODO Auto-generated method stub 81 Test t = new Test(); 82 // t.show(new Fu()); 83 t.show(new Zi()); 84 } 85 86 }
EceptionDemo6