Java 何时使用扩展RuntimeException的用户定义类?
我创建了一个用户定义的类(比如Java 何时使用扩展RuntimeException的用户定义类?,java,exception-handling,Java,Exception Handling,我创建了一个用户定义的类(比如ClassA),它扩展了Exception,另一个类(ClassB)扩展了RuntimeException。请建议我在我的应用程序中应该在哪里使用它们 我是否应该在if语句中使用ClassB(它扩展了RuntimeException),就像帐户余额低一样?运行时异常的一个例子是运行时环境抛出的东西,比如算术或索引越界(最常见的)。这些主要是技术性的 可以通过扩展异常类来处理业务逻辑。标准异常是检查异常。因此,您需要一个try/catch块。 运行时异常是不需要try
ClassA
),它扩展了Exception
,另一个类(ClassB
)扩展了RuntimeException
。请建议我在我的应用程序中应该在哪里使用它们
我是否应该在if语句中使用
ClassB
(它扩展了RuntimeException
),就像帐户余额低一样?运行时异常的一个例子是运行时环境抛出的东西,比如算术或索引越界(最常见的)。这些主要是技术性的
可以通过扩展异常类来处理业务逻辑。标准异常是检查异常。因此,您需要一个try/catch块。 运行时异常是不需要try/catch块的未检查异常。它们不应该发生
对于您的业务逻辑,如低账户余额,您可能应该使用检查异常,以便您必须处理它们。约书亚·布洛赫的经验法则是:
- 使用检查异常(扩展异常),您希望应用程序能够从其进入的异常状态中恢复
- 对于您不希望可能恢复的情况,请使用未经检查的异常(扩展RuntimeException)