Java 17 Silver ・ 6. 例外処理
try-with-resources 文による例外処理 の練習問題と解説
Java 17 Silver ラボ の「6. 例外処理 › try-with-resources 文による例外処理」の問題 6 問を載せています。問題を開くと、正解と選択肢ごとの解説が読めます。
try-with-resources 文による例外処理 について
try-with-resources 文は、使い終わったリソースを自動で閉じます。書き方と、close が呼ばれる順番、catch・finally との前後関係が題材です。
try (A a = new A(); B b = new B()) のリソースは、宣言と逆の順 (b → a) に close されます。close は catch や finally の前に実行されるので、出力は「try の本体 → close → catch → finally」の順になります。リソースにできるのは AutoCloseable (Closeable を含む) を実装したクラスだけです。
リソースの変数は暗黙に final で、try の中で代入し直すとコンパイルエラーです。Java 9 からは外で宣言した final または実質的に final の変数を try (r) と書いて使えます。close がチェック例外を投げると宣言されている場合は、その例外を catch するか throws で宣言しなければいけません。
問題 (6 問)
「try-with-resources 文による例外処理」をこのサイトで解く
広告