入力用の整数を読み取るメニューがあります。メニューのメソッドは次のとおりです。
public int menu(String _menuHeader,String[] _menuItems) throws InvalidInputException {
int choice = 0;
do {
try {
scanner.nextLine();
System.out.println(_menuHeader);
for (int i = 0; i < _menuItems.length; i++) {
System.out.println(" " + (i + 1) + " " + _menuItems[i]);
}
choice = scanner.nextInt();
if (choice <= 0 || choice > _menuItems.length) {
throw new InvalidInputException();
}
} catch (Exception e) {
System.out.println("Enter valid input");
validInput = false;
} catch (InvalidInputException e) {
System.out.println("Please enter a choice between 1 and" + _menuItems.length);
validInput = false;
}
} while (!validInput);
}
ここで、入力が許可された選択肢の範囲外にある場合、つまり、選択肢 1 と 2 の入力 7 の場合に例外をキャッチしたいと考えています。
このために、InvalidInputException を使用してみましたが、「import.java.Throwable/Exception;」をインポートしたにもかかわらず、「シンボル InvalidInoutException が見つかりません」というコンパイル エラーが発生します。