第9章 Java 7 の機能を復習する : 問題 3 : 複数例外のキャッチ
問題
複数の例外をキャッチするcatch
節の中でその例外を再度スローする場合に、その処理が書かれているメソッドでのthrows
宣言はどのように宣言すればよいか?
次の例で答えよ。
public void process() throws ??? { try { ... } catch (FileNotFoundException | UnknownHostException ex) { logger.log(Level.SEVERE, "...", ex); throw ex; } }
解答
普通に、2つの例外をthrows
宣言に書けばよい。
■ 普通の解答
public void process() throws FileNotFoundException, UnknownHostException {
あと、FileNotFoundException
とUnknownHostException
はIOException
の派生クラスなので、IOException
でまとめることも可。
■ ひとつにまとめる
public void process() throws IOException {