何时使用扩展RuntimeException的用户定义的类?

时间:2011-11-18 03:41:36

标签: java exception-handling

我创建了一个扩展ClassA的用户定义的类(比如Exception),以及另一个扩展ClassB的类(RuntimeException)。请在我的申请表中建议我在哪里使用它们?

我是否应该在if语句中使用ClassB(扩展RuntimeException),如果帐户余额较低?

3 个答案:

答案 0 :(得分:1)

Runtime异常的一个例子是Runtime环境抛出的东西,比如算术或索引越界(最常见的)。这些都属于技术性质。

可以通过扩展Exception类来处理业务逻辑。

答案 1 :(得分:1)

经验法则Joshua Bloch建议:

  • 使用已检查的异常(扩展异常),您希望应用程序可以从它进入的异常状态中恢复
  • 对于您不希望可能恢复的情况使用未经检查的异常(扩展RuntimeException)

答案 2 :(得分:0)

标准例外是经过检查的例外情况。所以你需要一个try / catch块。 运行时异常是未经检查的异常,不需要try / catch块。它们不应该发生。

对于像低帐户余额这样的业务逻辑,您应该使用已检查的异常,以便您必须处理它们。