我正在阅读“Java SCJP 证书程序员指南”一书中的异常处理。作者写道:
如果在方法中抛出已检查异常,则必须通过以下三种方式之一进行处理:
1.通过使用try块并在处理程序中捕获异常并进行处理
2.通过使用 try 块并在处理程序中捕获异常,但抛出另一个未经检查或在其 throws 子句中声明的异常
3.通过在其方法头的 throws 子句中声明,显式允许将异常传播给其调用者
第一个和第三个我都看明白了,但是第二个让我很困惑。我的担忧是:
- 即使我不抛出任何其他未经检查的异常也没关系,那么为什么我们必须在这里抛出另一个异常?
- 为什么我们必须在 throws 子句中重新声明我们捕获的异常?我认为这是由处理程序结束的。
谢谢大家。