Java 17 Silver ・ 6. 例外処理
try-catch 文による例外処理 の練習問題と解説
Java 17 Silver ラボ の「6. 例外処理 › try-catch 文による例外処理」の問題 8 問を載せています。問題を開くと、正解と選択肢ごとの解説が読めます。
try-catch 文による例外処理 について
例外が起きたとき処理がどこへ飛ぶかを追う分類です。catch・finally・return が組み合わさったとき、何が出力され何が返るかを確かめます。
例外が起きると try の残りは飛ばされ、合う catch が実行されたあと finally が実行されます。finally は return があっても実行され、finally の中に return を書くと、try や catch の return の値は捨てられます。try の return の値はその時点で決まるので、finally で基本データ型の変数を変えても戻り値は変わりません。
親の例外の catch を子の例外の catch より前に書くと、子の catch に届かずコンパイルエラーです。catch の中で例外を投げても finally は実行されてから呼び出し元に伝わります。try だけで catch も finally も無い書き方はコンパイルエラーです。出力を問う問題では、どの行で例外が起きたかを最初に決めてから読み進めます。
問題 (8 問)
- 例外が起きたときの流れ
- return があっても finally は実行される
- finally の中の return
- return の値はその時点で決まる
- catch の順番
- catch の中で例外を投げる
- 入れ子の try
- catch も finally も無い try
広告