以下のコードが理にかなっていることはわかっています。
try { ... }
catch (FileNotFoundException exc) { ... }
catch (IOException exc) { ... }
しかし、 throws 句でこれらの親と子の例外を宣言することは意味があるのでしょうか?
次のコードがあるとします。
public void doSomething() throws FileNotFoundException, IOException { ... }
FileNotFoundExceptionのサブクラスであることは誰もが知っていIOExceptionます。これに反対して、そのように宣言することは、何らかの方法(読みやすさ、パフォーマンスなど)で理にかなっていますか?
public void doSomething() throws IOException { ... }