如果我调用一个方法,该方法调用另一个抛出异常的方法,但这是一个 IndexOutOfBoundsException,我必须在我需要使用的每个方法中抛出此异常,或者我可以只在第一个方法和第一个方法中抛出它吗?最后调用它。
我可以这样做吗?:
public static void b() {
a();
}
public static void a() throws IndexOutOfBoundsException {
}
public static void main(String[] args) {
try {
b();
} catch (IndexOutOfBoundsException iEx) {
//Manage exception
}
}
我不想使用 IndexOutOfBoundsException
作为已检查的异常,因为我正在读取 .ini 文件来获取包含我需要的一些数据的数组,以便稍后将它们提供给数据源(BoneCp),管理我的连接。如果 .ini 不包含当前所需的信息,我就无法知道它,所以我不想以这种方式处理它(不是一个大应用程序)。不过我也想知道正常检查异常的行为是什么。
最佳答案
IndexOutOfBounds
是一个RuntimeException
,这意味着它不是一个受检查的异常。因此,您不需要在方法签名中声明它,而且我什至会说您不应该(而是在 Javadocs 中提及它)。这样做会使其检查/未检查的性质变得模糊。由于异常是未经检查的,因此您也不需要在 b
的方法签名中声明它。但是,如果它是受检查的异常,则必须声明它。
关于java - 异常管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19822808/