Suppose the following code:

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 throws an IOException, and no other checked exception, and handles that exception itself.

What exactly

throws IOException 

in its declaration is bringing in? From what I know, it is making it possible for the methods calling someMethod() handle that IOException themselves.

is anything else happening here?

有帮助吗?

解决方案

If the catch block doesn't throw IOException, the throws IOException part in the method signature is not necessary. And also, every time the someMethod() is invoked, there has to be provided a catch block for a possible exception that actually never occurs.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top