java7(2)——使用mutilcatch注意事项

  从java7推出mutilcatch后,到现在都少有看到人使用,可能是这个功能真正用起来,比起多个catch并不快多少,而且现在的工IDE具太厉害了,什么都有快捷键!说是这么说,我们还是得了解一下如何使用mutilcatch。

  mutilcatch的使用很简单,只要注意以下几点:

(1)不同的异常用"|"分隔开来,但只有一个参数e,e的具体类型是NumberFormatException 和ArithmeticException 在类继承层次结构上的最小祖先

(2)假如要捕获异常A和异常B,那么A中不能包含B,B也不能包含A,不然在编译器IDE就不给通过。如图所示,alternative 的意思是两者只能选择其中一个。因为两个异常有包含关系。

(3)使用catch多个异常的处理方法,哪个异常先抛出来,就先捕获那个异常,而在那个异常下面的代码将不会继续执行,所以没有被打印出来。

 1 public class Test {
 2 
 3     public static void test() {
 4         
 5         try {
 6             
 7             int i = 2/0;                // ArithmeticException 
 8             Integer.parseInt("abc");    // NumberFormatException
 9             
10         } catch (ArithmeticException |  NumberFormatException e) {
11             
12             System.out.println(e);
13         }
14     }
15     
16     public static void main(String[] args) {
17         
18         test();
19         // 测试结果:java.lang.ArithmeticException: / by zero
20     }
21 }
 1 public class Test {
 2 
 3     public static void test() {
 4         
 5         try {
 6             
 7             Integer.parseInt("abc");    // NumberFormatException
 8             int i = 2/0;                // ArithmeticException 
 9             
10         } catch (ArithmeticException |  NumberFormatException e) {
11             
12             System.out.println(e);
13         }
14     }
15     
16     public static void main(String[] args) {
17         
18         test();
19         // 测试结果:java.lang.NumberFormatException: For input string: "abc"
20     }
21 }

 

java7(2)——使用mutilcatch注意事项,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。