019-001-008
finallyブロックとリソース解放
上級
問題説明
finallyブロックとリソース解放
この問題では: Resourceクラスを作成し、finallyブロックを使って例外発生の有無にかかわらずリソースを確実にcloseするプログラムを作成します。
学習目標: finallyブロックの動作と、リソースを確実に解放する方法を理解する
概要
Resourceクラスを作成し、finallyブロックでリソースを確実に解放するパターンを実装します。
仕様
Resourceクラス:open(): "Resource opened" を出力use(boolean shouldFail): shouldFailがtrueなら例外をスロー、falseなら "Resource used" を出力close(): "Resource closed" を出力
mainメソッドで2回テスト:- 正常に使用(shouldFail=false)
- 例外発生(shouldFail=true)
- 両方のケースでリソースがcloseされることを確認
出力形式
Test 1:
Resource opened
Resource used
Resource closed
Test 2:
Resource opened
Error occurred
Resource closed
