Java 17 Silver ・ 6. 例外処理
multi-catch 句の使用 の練習問題と解説
Java 17 Silver ラボ の「6. 例外処理 › multi-catch 句の使用」の問題 5 問を載せています。問題を開くと、正解と選択肢ごとの解説が読めます。
multi-catch 句の使用 について
catch (A | B e) と書くと、1 つの catch で複数の種類の例外を受け取れます。この書き方で許されない組合せと、変数 e の制約を扱います。
| で区切った型どうしに親子関係があるとコンパイルエラーです (親の型だけを書けば足りるため)。同じ型を 2 回並べてもエラーになります。multi-catch の変数 e は暗黙に final なので、catch の中で代入し直すとコンパイルエラーです。普通の catch では代入できるので、ここが違いになります。
multi-catch と普通の catch を並べるときも、前の catch で捕まえた例外の子の型を後ろに書くと届かずエラーです。e の型は並べた型の共通の親として扱われるので、片方にしかないメソッドは呼べません。
問題 (5 問)
広告