我正在将我的源代码与同事的源代码合并,我看到他在方法声明中添加了一个异常;但是,我知道,该异常永远不会从该方法中抛出。
我想知道为什么编译器没有警告我“声明的非抛出异常”(或类似的东西)。我意识到你可以声明一个抛出N个异常的方法,即使方法中的代码没有抛出这些异常。
为什么?
public void foo() throws IOException, IntrospectionException, BadStringOperationException, ... {
//do nothing
}
答案 0 :(得分:13)