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回テスト:
    1. 正常に使用(shouldFail=false)
    2. 例外発生(shouldFail=true)
  • 両方のケースでリソースがcloseされることを確認

出力形式

Test 1:
Resource opened
Resource used
Resource closed
Test 2:
Resource opened
Error occurred
Resource closed

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方