Возврат из блока try-catch

Всем доброго времени суток! Имеется следующий код:

Scanner scanner = new Scanner(System.in);
String about = scanner.nextLine();
try {
    if (about.equals("Справка") || about.equals("справка"))
        System.out.println("Справка в разработке");
} catch (Exception i) {
    if (!(about.equals("Справка") || about.equals("справка"))) {
        throw new IllegalArgumentException("Для вызова \"Справки\" необходимо ввести в консоль \"Справка\"");
    }
}

Тут я по введенному слову или выкидываю справку или нет.

Вопрос в следующем. Если пользователь ввел неверное слово и выкинулось сообщение об ошибке, как мне снова вернуться ко вводу в консоль и начать сначала?

Заранее благодарю!


Ответы (2 шт):

Автор решения: стасевич
while (!about.equalsIgnoreCase("справка")) {
    about = scanner.nextLine();
    //do something
}
→ Ссылка
Автор решения: Alex Rudenko

Строго говоря, в показанном коде исключение не должно возникать вообще, то есть, даже если пользователь не введёт слово "Справка", блок catch не отработает, и вся конструкция try-catch в данном примере представляется излишней.

Цикл ожидания "правильного" ввода может быть переписан так:

String about;

while (!"справка".equalsIgnoreCase(about = scanner.nextLine())) {
    System.out.println("Для вызова справки введите в консоль: справка");
}
System.out.println("Справка в разработке");
→ Ссылка