Java 多个异常共享同一个异常处理器的方法

网友投稿 247 2023-01-04


Java 多个异常共享同一个异常处理器的方法

传统的异常处理

我们先来看下,传统的异常处理方式:

//http:// not share exhttp://ception handler

int[] intArray = new int[3];

try {

for (int i = 0; i <= intArray.length; i++) {

intArray[i] = i;

System.out.println("intArray[" + i + "] = " + intArray[i]);

System.out.println("intArray[" + i + "]模 " + (i - 2) + "的值: " + intArray[i] % (i - 2));

}

} catch (ArrayIndexOutOfBoundsException e) {

// ...省略了大段处理逻辑

System.out.println("异常信息:" + e);

} catch (ArithmeticException e) {

// ...省略了大段处理逻辑

System.out.println("异常信息:" + e);

}

在上面的程序处理中,我们捕获了可能出现的 ArrayIndexOutOfBoundsException 和 ArithmeticException 的异常。

共享同一个异常处理器

为了改进代码,我们使用了 java 7 中共享同一个异常处理器的方式,代码改成了如下方式:

// share exception handler

intArray = new int[3];

try {

for (int i = 0; i <= intArray.length; i++) {

intArray[i] = i;

System.out.println("intArray[" + i + "] = " + intArray[i]);

System.out.println("intArray[" + i + "]模 " + (i - 2) + "的值: " + intArray[i] % (i - 2));

}

} catch (ArrayIndexOutOfBoundsException | ArithmeticException e) {

// ...省略了大段处理逻辑

System.out.println("异常信息:" + e);

}

System.out.println("程序正常结束。");

在这段程序中,我们看到 ArrayIndexOutOfBoundsException 和 ArithmeticException 异常被放到了同一个异常处理器中进行了处理。这样整体代码看起来更加简洁,并消除了MmIucSv很多的重复代码。要知道,重复是魔鬼。

源码

本例子的源码,可以在 https://github.com/waylau/essential-java 中 com.waylau.essentialjava.exception 包下找到。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何在JDK 9中更简洁使用 try
下一篇:做接口测试怎么连接服务器(接口测试简单吗)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~