Вот код, который понравился валидатору:
Operation operation = null;
while (operation != Operation.EXIT) {
try {
operation = askOperation();
CommandExecutor.execute(operation);
}
catch (WrongZipFileException wrongZipFileException) {
ConsoleHelper.writeMessage("Вы не выбрали файл архива или выбрали неверный файл.");
}
catch (Exception anotherException) {
ConsoleHelper.writeMessage("Произошла ошибка. Проверьте введенные данные.");
}
}
А вот с break валидатору не понравился:
Operation operation = null;
while (true) {
try {
operation = askOperation();
CommandExecutor.execute(operation);
if (operation == Operation.EXIT) break;
}
catch (WrongZipFileException wrongZipFileException) {
ConsoleHelper.writeMessage("Вы не выбрали файл архива или выбрали неверный файл.");
}
catch (Exception anotherException) {
ConsoleHelper.writeMessage("Произошла ошибка. Проверьте введенные данные.");
}
}
Объясните, плиз, почему.
Антон
37 уровень
Проясните ньюанс
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Антон Азаренко
1 октября 2020, 04:54решение
Осмелюсь предположить что валидотор проверяет на выход из цикла меняя флаг Operation.EXIT. Так как в вашем коде цикл постоянно (true) он не может проверить выход из цикла и не пропускает код
+5
Антон
1 октября 2020, 05:55
Благодарю!
0