Можно ли получить доступ к метке, определенной внутри блока try, в блоке catch? - PullRequest
0 голосов
/ 06 февраля 2020
try {
            do {
                input: if (choice2 != null)
                    System.out.println("Please enter a valid choice");
                choice2 = reader.readLine();
            } while ((int) choice2.charAt(0) >= 65 && (int) choice2.charAt(0) <= 69);
        } catch (StringIndexOutOfBoundsException e) {
            continue input;
        }

Есть ли способ реализовать подобную функциональность? Приведенный выше код является примером.

1 Ответ

2 голосов
/ 06 февраля 2020

Переместите try-catch в l oop тело . И вы, вероятно, хотели обозначить l oop. И, хотя они не являются обязательными, используйте фигурные скобки. Мол,

input: do {
    try {
        if (choice2 != null) {
            System.out.println("Please enter a valid choice");
        }
        choice2 = reader.readLine();
    } catch (StringIndexOutOfBoundsException e) {
        continue input;
    }
} while ((int) choice2.charAt(0) >= 65 && (int) choice2.charAt(0) <= 69);
...