103 「例外修羅道」 Step08 問題

問題

あなたは、特定の業務エラーを表すために、独自の例外クラスを作成しようとしています。
次の要件に従って、自作の例外を定義し、それを実際の処理で使ってください。


要件

  1. MyAppException という名前のクラスを定義し、Exception を継承すること
  2. MyAppException はコンストラクタでエラーメッセージを受け取り、super() で親クラスに渡すこと
  3. checkCode(int code) メソッドを作成し、code が 999 の場合に MyAppException を throw すること
  4. 呼び出し元の main メソッドで try-catch を使い、例外を処理して "独自例外発生: (例外メッセージ)" と出力すること
  5. code が 999 でない場合は "コード: (code)" と出力すること

テストコード(Main.java)

public class Main {
  public static void main(String[] args) {
    try {
      ExceptionUtil.checkCode(100);  // 正常
      ExceptionUtil.checkCode(999);  // 独自例外
    } catch (MyAppException e) {
      System.out.println("独自例外発生: " + e.getMessage());
    }
  }
}

ヒント

  • 独自例外は public class MyAppException extends Exception として定義する
  • super("メッセージ") を使えば、Exception クラスにメッセージを渡せる
  • 業務ロジックに応じた意味のある例外クラスを作ると、プログラムが読みやすくなる

解答例

103 ステップアップ問題 「例外修羅道」