// カスタム例外クラス: InvalidInputException
class InvalidInputException extends Exception {
public InvalidInputException(String message) {
super(message);
}
}
// カスタム例外クラス: OutOfRangeException
class OutOfRangeException extends Exception {
public OutOfRangeException(String message) {
super(message);
}
}
public class CustomExceptionExample {
public static void main(String[] args) {
CustomExceptionExample example = new CustomExceptionExample();
try {
example.validateInput("ValidInput"); // 有効な入力
example.validateInput("InvalidInput"); // 無効な入力
example.checkRange(5); // 有効な範囲
example.checkRange(15); // 無効な範囲
} catch (InvalidInputException e) {
System.out.println("InvalidInputException: " + e.getMessage());
} catch (OutOfRangeException e) {
System.out.println("OutOfRangeException: " + e.getMessage());
}
}
// メソッド: 入力が特定の条件を満たさない場合にInvalidInputExceptionをスロー
private void validateInput(String input) throws InvalidInputException {
if (!input.equals("ValidInput")) {
throw new InvalidInputException("無効な入力です");
}
}
// メソッド: 範囲外の値が渡された場合にOutOfRangeExceptionをスロー
private void checkRange(int value) throws OutOfRangeException {
if (value < 0 || value > 10) {
throw new OutOfRangeException("範囲外の値です");
}
}
}
このプログラムでは、validateInput
メソッドでは入力が “ValidInput” でない場合に InvalidInputException
をスローし、checkRange
メソッドでは値が0から10の範囲外の場合に OutOfRangeException
をスローしています。main
メソッドではそれらのメソッドを呼び出し、発生した例外に対して適切なメッセージを表示しています。