103 「例外修羅道」 Step07 問題

問題

あなたは、ユーザーの年齢を受け取って処理するメソッドを作成しようとしています。
年齢が0未満の値だった場合は、不正な入力として例外を発生させてください。

次の要件に従って実装してください:

  • メソッド checkAge(int age) を作成する
  • age が 0 未満なら、IllegalArgumentExceptionthrow して発生させる
  • 呼び出し元で try-catch により例外を処理し、例外が発生したら "エラー: (例外メッセージ)" を出力する
  • 正常な年齢なら "年齢: (年齢)" を出力する

要件

  • throw new IllegalArgumentException(...) を使って例外を自ら発生させること
  • IllegalArgumentException のコンストラクタに、エラーメッセージを渡すこと
  • 呼び出し側で try-catch により例外を処理すること

テストコード(Main.java)

public class Main {
  public static void main(String[] args) {
    try {
      ExceptionUtil.checkAge(25);   // 正常
      ExceptionUtil.checkAge(-5);   // エラー
    } catch (IllegalArgumentException e) {
      System.out.println("エラー: " + e.getMessage());
    }
  }
}

ヒント

  • throw はメソッドの中で例外を発生させるときに使う
  • IllegalArgumentException は「引数がおかしい」ことを表す標準的な例外クラス
  • 条件分岐で age < 0 のときだけ例外を投げるようにする

解答例

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