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