从 JDK 7 开始,异常处理已扩展为三个新功能:自动资源管理、多重捕获和更准确的重新抛出。
多重catch允许您使用同一个catch子句捕获多个异常,避免代码重复。
要使用多重捕获,请指定由 | 分隔的异常列表。在 catch 子句中。每个参数都是隐式最终参数。
用法示例:catch(final ArithmeticException | ArrayIndexOutOfBoundsException e) 使用相同的 catch 子句捕获两个异常。
程序在尝试除以零时生成 ArithmeticException,在访问数组边界之外的索引时生成 ArrayIndexOutOfBoundsException。两个异常都由同一个 catch 子句捕获。
更精确的重新抛出功能将可以重新抛出的异常类型限制为:
1 由 try 块抛出的已检查异常。
2 前一个 catch 子句未处理的异常。
3 参数子类型或超类型的异常。
catch 块中的参数必须是final 才能使用final recast,这意味着catch 块中不能为其分配新值。这可以明确说明,但不是必需的。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3