問題
あなたは、ファイルや外部リソースを扱うような処理を想定したメソッドを作成しようとしています。
この処理では例外が発生する可能性があるため、メソッド内で try-catch
を使わず、例外を呼び出し元に投げる(throws)形式で設計してください。
次の仕様に従って実装してください:
- メソッド
riskyMethod()
は強制的に例外を発生させる(throw new Exception("危険な処理です");
) - 呼び出し元の
main
メソッドでtry-catch
を使って、例外を受け取り処理する - 例外が発生したら
"エラーを受け取りました: (例外メッセージ)"
を出力する
要件
riskyMethod
メソッドはthrows Exception
を宣言すること- 呼び出し元で
try-catch
により例外を処理すること System.out.println
で例外メッセージを出力することthrow
とthrows
の違いを意識すること
テストコード(Main.java)
public class Main {
public static void main(String[] args) {
try {
ExceptionUtil.riskyMethod();
} catch (Exception e) {
System.out.println("エラーを受け取りました: " + e.getMessage());
}
}
}
ヒント
throw
→ 例外を発生させるthrows
→ 「このメソッドは例外を投げるかもしれません」と宣言するException
という親クラスで宣言すれば、あらゆる例外をカバーできる
→ 解答例