019-002-009
カスタム年齢バリデーション例外
中級
問題説明
カスタム年齢バリデーション例外
この問題では: Exceptionを継承したカスタム例外クラスInvalidAgeExceptionを作成し、AgeValidatorクラスのvalidate(int age)メソッドで年齢が0未満または150超の場合にこの例外をスローします。Mainクラスでtry-catchを使って例外を捕捉し、メッセージを標準出力に表示するプログラムを作成します。
学習目標: カスタム例外処理クラスの作成と、例外のスロー・キャッチの流れを理解する
概要
JavaではExceptionクラスを継承して独自の例外クラスを作成できます。この問題では、年齢の妥当性を検証するバリデーターを作成し、不正な値に対してカスタム例外をスローします。
仕様
InvalidAgeException クラス (InvalidAgeException.java)
Exceptionを継承- コンストラクタ:
InvalidAgeException(String message)でsuper(message)を呼び出す
AgeValidator クラス (AgeValidator.java)
void validate(int age) throws InvalidAgeExceptionage < 0の場合:"Age cannot be negative: "+ age のメッセージで例外をスローage > 150の場合:"Age cannot exceed 150: "+ age のメッセージで例外をスロー- 正常値の場合:
"Valid age: "+ age を出力
Main クラス (Main.java)
AgeValidatorインスタンスを作成validate(25)を呼び出す(正常)validate(-5)を呼び出す(例外発生)validate(200)を呼び出す(例外発生)- 各呼び出しを個別のtry-catchブロックで囲み、catchで
"Error: "+ 例外メッセージ を出力
出力形式
Valid age: 25
Error: Age cannot be negative: -5
Error: Age cannot exceed 150: 200
