选中与未选中的异常代码可重用性

  • 本文关键字:异常 代码 exception
  • 更新时间 :
  • 英文 :


我想知道为什么我的程序会这样。

我有一个方法,当尝试除以零时会抛出算术异常。我把这个方法放在一个try块中。当它抛出异常时,如果有的话,正在进行的 catch 块将捕获此算术异常。

我100%理解这部分。

但我做了一些实验。在我的方法主体中:

public static int quotient(int number1, int number2) {
    if (number2 == 0)
        throw new ArithmeticException("Divisor cannot be zero!");
    return number1 / number2;
}

我删除了第三行。当我删除第三行时,程序仍然运行良好,并且与以前完全相同。它仍然捕获了ArithmeticException错误。

是因为 ArithmeticException 是一个未经检查的异常,并且此错误仅在运行时被捕获,从而消除了我明确声明该程序将导致未经检查的异常的需要吗?如果是已检查的异常,我是否需要特别声明此方法将引发未经检查的异常?

如您所述,算术异常是运行时异常,您无需指定它引发异常。

尽管您确实需要使用 throws 语句指定程序是否引发编译时异常。需要检查异常的一个示例是 IOException。

相关内容

最新更新