• 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 }
    View Code
     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         //
    View Code
  • 相关阅读:
    python 类 专有方法
    当请求进入Nginx后,每个HTTP执行阶段的作用
    jquery 监听不起效果的小问题汇总
    shell 脚本中 while 只执行一次
    LVS (Linux虚拟服务器)模型及算法
    TCP 通信时序及状态变迁
    Golang 谷歌搜索api 实现搜索引擎(前端 bootstrap + jquery)
    Golang 简单 http 代理转发
    Golang 简单静态web服务器
    Golang TCP转发到指定地址
  • 原文地址:https://www.cnblogs.com/xiaoMzjm/p/3886056.html
Copyright © 2020-2023  润新知