三个新添加的例外功能

  • 从 jdk 7 开始,异常处理已扩展为三个新功能:自动资源管理、多重捕获和更准确的重新抛出。

  • 多重catch允许您使用同一个catch子句捕获多个异常,避免代码重复。

  • 要使用多重捕获,请指定由 | 分隔的异常列表。在 catch 子句中。每个参数都是隐式最终参数。

  • 使用示例:catch(final ArithmeticException | ArrayIndexOutOfBoundsException e) 使用相同的 catch 子句捕获两个异常。

三个新添加的例外功能

  • 程序在尝试除以零时生成 ArithmeticException,在访问数组边界之外的索引时生成 ArrayIndexOutOfBoundsException。两个异常都由同一个 catch 子句捕获。

  • 更准确的重新抛出功能将可以重新抛出的异常类型限制为:

  • 1 由 try 块抛出的已检查异常。

  • 2 个之前的 catch 子句未处理的异常。

  • 3 参数子类型或超类型的异常。

  • catch 块中的参数必须是最终的才能使用最终重新抛出,这意味着不能在 catch 块内为其赋予新值。这可以明确说明,但不是必需的。

以上就是三个新添加的例外功能的详细内容,更多请关注其它相关文章!