Метод в try..catch

  • 6
  • Недоступна
Вероятно, каждый из вас хотя бы раз в жизни ошибался при вводе пароля или других текстов. Давайте защитим программу от случайного ввода «не тех» данных. В задачке пользователь вводит с клавиатуры числа, а если он введёт что-то другое, то должен сработать метод, перехватывающий исключение, и вывести на экран все ранее введенные числа.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (304)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Александр Сидоренко
Уровень 10, Днепр
22 февраля, 12:20
Божечки, это что, задача Medium, которую я смог решить, никуда не подглядывая? Невероятно
Андрей
Уровень 35
27 января, 12:21
Я может чего-то не понимаю, но почему при отлавливании IOException код продолжается и спокойно ловит другое исключение?
Александра
Уровень 22, Нижний Новгород
8 октября 2021, 13:59
а я попалась на том, что забыла сделать импорт
import java.io.IOException;
1 февраля, 11:23
достаточно просто одного Exception и без импорта. у меня получилось) о, я кстати, тоже из НН))
Dmitry Kotlyarov
Уровень 17, Москва
15 сентября 2021, 19:18
В методе создал список. В блоке try бесконечный цикл while(true), затем вводим числа и заносим их в список. В блоке catch ловим исключение и через for each выводим список на экран.
Anton
Уровень 24, Москва, Россия
13 августа 2021, 20:43
Если есть сложность с выводом чисел, то я бы порекомендовал эту статью прочитать: Исключения: перехват и обработка про использование блока try / catch / finally В то время как цикл while можно занести в try
Андрей Холопов Работает в СберТех
17 июня 2021, 14:44
Интересная задача.
Igor Java/Kotlin Developer
25 февраля 2021, 10:56
Код внутри readData обернуть в try..catch.
Это НЕ весь код обернуть😅
Dmitriy Sugak Team Lead в Luxoft
14 января 2021, 14:40
Как всегда "радует" задание: 5. Если пользователь ввел текст, а не число, программа должна вывести все ранее введенные числа. ГДЕ здесь написано КАК их выводить? Рекомендации от Ментора - это по ходу куски не дописанного текста) Проверь, что после ввода текста, программа выводит все ранее введенные числа, каждое с новой строки сохраняя порядок ввода.
Anonymous #2497433
Уровень 35
5 февраля 2021, 18:36
тише будь. все правильно написано в условии задачи. с первого раза решил
Sherminator_2 Senior QA engineer в Банк ВТБ
27 февраля 2021, 20:12
Спасибо за поднятый вопрос, тоже голову ломал, хотелось с первого раза решить. Имел два варика на выходе, вывести в одну строку все числа или вывести столбиком. Значит столбиком.
Серж Работает в IT департамент предп
4 марта 2021, 19:00
пример вывода же есть в самом задании :)
piersto
Уровень 17, Montreal, Canada
14 июля 2021, 18:54
Написано, чёрным по белому: "Если пользователь ввёл какой-то текст, вместо ввода числа, то метод должен перехватить исключение и вывести на экран все ранее введенные числа в качестве результата. Числа выводить с новой строки сохраняя порядок ввода."
Jill Still
Уровень 20, Москва
5 января 2021, 13:46
А кто знает, почему возникает IOException, который тоже надо ловить? Идея подчеркивает reader.readLine()
Aleksey Grin
Уровень 22, Санкт-Петербург, Россия
14 января 2021, 16:11
Да, потому что содержимое reader'a у тебя в конце концов заканчивается и это тоже эксепшн и его тоже нужно обрабатывать. но ты наверняка уже тоже знатно проматерился когда решил через импорт IOException и посмотрел, "верное решение"...
Igor Java/Kotlin Developer
25 февраля 2021, 11:08
Я тоже там делал. Предположил, что нужно обрабатывать определённый вид ошибки и из-за этого у меня:
} catch (NumberFormatException e) {
                   } catch (IOException e) {
А не просто:
} catch (Exception e) {
Sherminator_2 Senior QA engineer в Банк ВТБ
27 февраля 2021, 20:31
а я так ловил
catch (NumberFormatException | IOException e)
Имя Фамилия
Уровень 19, Москва
18 декабря 2020, 17:24
Дольше всего промучался воспоминая как через foreach в консоль выводить.. вкинул нечто странное "for (Object num : list) { System.out.println(num); }" и валидатор молча зохавал )) с остальным проблем не возникло - таки выдресировали меня трайкетчами (сеты-мапы конечно же из головы выветрились уже, но вот аррай повторили)