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

 

posted @ 2021-11-04 23:01  doremi429  阅读(11)  评论(0)    收藏  举报