ITPub博客

首页 > 应用开发 > Java > java异常处理(多异常处理)

java异常处理(多异常处理)

原创 Java 作者:码邦主666 时间:2021-02-24 17:30:28 0 删除 编辑

一、多异常处理

多异常处理就是在一个代码中可能出现多种异常,此时如果使用一个catch 不能实现多种异常的捕获(使用最大异常类型Exception 除外)。


DEMO:观察代码

以上的代码可能出现的异常:

  • 数字格式化异常(NumberFormatException)
  • 数组越界异常(ArrayIndexOutOfBoundsException)
  • 算术异常(ArithmeticException)

可能出现上面的三种异常,但是我们此时的代码在catch 的时候只能匹配“ArrayIndexOutofBoundsException”如果出现另外两种异常是不能处理的。如果要处理这三个异常我们可以使用三个catch语句,每个catch 匹配一种异常。

DEMO:多个catch语句

以上使用多个catch语句块可以处理多种异常,但是在不严格的开发中我们可以使用一种异常类型(一个catch 语句块)就能处理所有的异常。此时应该找一个类型作为所有异常的父类,找到之后所有的异常就可以向上转型为父类。这个父类就是“Exception"

DEMO:使用最大异常类型

在不严格的时候就可以使用最大异常的父类就可以匹配所有的异常,原理是向上转型。 Java学习交流扣扣裙927296445,有什么问题可以相互讨论交流,初级学习资源免费下载

DEMO:观察代码

此时出现了错误,原因是在NumberFormatException 之前出现了他的父类,当匹配到Exception的时候就一定不会匹配 NumberFormatException。如果一定要写多个catch语句块,那么顺序应该是子类异常放到前面,父类的放到后面

DEMO:调换顺序

总结:

1、一个代码可能出现多种异常的时候有两种解决方案:

使用多个catch语句块
使用最大类型异常进行捕获

2、如果使用多个catch语句块的时候子类异常要放到父类异常的前面3、能使用最大父类捕获所有的子类异常的原理是向上转型。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69985551/viewspace-2759135/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-10-16

  • 博文量
    138
  • 访问量
    52720