0

我有一个关于 Java 异常的奇怪问题,我不确定。

假设我们定义了一个类:

class A extends RuntimeException { ... }

假设我们有一个名为 C 的方法,它调用了抛出 A 的方法。什么是正确的?

  1. 里面的try-catch

  2. 抛出运行时异常。

  3. 1 或 2

  4. 以上都不是

4

2 回答 2

5

它是一个RuntimeException,你可以选择捕捉或不捕捉它。Java 不会强迫你使用 try-catch 或 throw 它,但如果你想捕捉它,你仍然可以。

的全部目的RuntimeException是用户不应该为它做准备,因此 java 使用户可以选择是否捕获它。

所以在 4 个选项中,答案是“以上都不是”。

于 2013-08-04T03:26:46.440 回答
1

RuntimeException 及其子类未经检查,不需要声明为被抛出或显式处理,因此问题的答案不是上述任何一种。需要在 try-catch 块中声明或处理已检查的异常(扩展 Exception)。

于 2013-08-04T03:35:05.913 回答