假设以下代码:
public static void somMethod() throws IOException {
try {
// some code that can throw an IOException and no other checked exceptions
} catch (IOException e) {
// some stuff here -- no exception thrown in this block
}
}
someMethod 会抛出 IOException ,并且没有其他已检查的异常, 并处理该异常本身。
究竟是什么
throws IOException
在其声明中引入? 据我所知,它使这些方法成为可能 调用 someMethod()自己处理 IOException 。
这里发生了什么其他事情?
答案 0 :(得分:2)
如果catch块没有抛出IOException
,则不需要方法签名中的throws IOException
部分。而且,每次调用someMethod()
时,都必须为可能的异常提供catch
块,而该异常实际上从未发生过。