Можно подробнее пояснить про continue в исключениях?
Савелий
1 уровень
Про continue
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Савелий
4 ноября 2021, 13:19
В обсуждения нашел следующее:
"оператор continue в коде нужен что бы в случае ввода не целого числа не выполнялся этот кусок кода:
try {
System.out.println(ANSWERING + studentsJournal.get(studentId));
} catch (Exception e) {
System.out.println(NOT_EXIST);
}
т.к. в случае ввода не целого числа, мы не инициализируем studentId"
Идея подчеркивает studentsJournal.get(studentId)) и говорит что инициализуй studentId, если не поставить continue в первом блоке catch, почему? При появлении исключения и его обработке разве не выполнится ли весь цикл заново, почему во втором try блоке метод studentsJournal.get(studentId)) не видит studentId?
0
Ksenia VolkovaJava Developer в DXCMaster
4 ноября 2021, 13:47
Покажи остальной код.
0
redBowl Backend Developer
8 ноября 2021, 12:01
В данной задаче идет бесконечный цикл "while (true)"
сначала мы проверяем, не ввел ли пользователь exit, чтобы выйти из цикла и завершить программу.
Далее идет проверка введенного значение на соответствие типу Integer, для того что бы выполнить последний блок try catch(и вывести System.out.println(ANSWERING + studentsJournal.get(studentId))), но вот ЕСЛИ выкинулось исключение которое Вы указали в вопросе, значит введенное значение не прошло проверку на Integer и выполнять последний блок try catch НЕ нужно, для этого и используется ключевое слово continue, для того чтобы началась новая итерация цикла и не было вывода некорректных данных на консоль.
+5