Здравствуйте. В IntelliJ IDEA в задаче про таймер, 5 уровень, 6 лекция, подчеркивается setTimer и выдается ошибка Unhandled exception: java.lang.InterruptedException. Дальше в последующих задачах при попытке запустить программу появляется код этой же задачи про таймер с этой же ошибкой. Как можно исправить?
Patrick
23 уровень
Постоянно появляется ошибка в IntelliJ IDEA
Решен
Комментарии (12)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Patrick
24 мая 2023, 12:29
Версию обновил, настройки изменил, но что-то не уходит ошибка
0
Anonymous #3303140
24 мая 2023, 12:43
Да причём тут версия, если у тебя ошибка компиляции. Проблема в твоём коде, а не в jdk. Тебе уже два раза ответили, что требуется сделать
0
Patrick
24 мая 2023, 13:00
Да притом, что это я сделал по совету специалиста Джавараш, с которым переписываюсь в мессенджере и которому отправил ссылку на эту тему. А про обработку исключений я пока еще не знаю. Иди мимо
0
Anonymous #3303140
24 мая 2023, 13:16
Специалист джавараш не понял твоего вопроса.
Я не понимаю, зачем ты отворачиваешься от ответа, если ты его тут и ищешь?
Добавь эти два слова throws InterruptedException к сигнатуре метода main и живи счастливо.
Либо вместо этого найди у себя в коде вызов метода Thread.sleep() и оберни его в блок try-catch, замени вот на эти строки: В том, что ты этого не проходил, ты можешь попробовать убедить компилятор, но бьюсь об заклад, его это не разжалобит 😀
А при запуске любого другого класса эта же самая ошибка возникает по той причине, что компилируется всегда весь проект, то есть все классы в нём разом. Если хоть где-то есть ошибка компиляции, то никакой класс не запустится. Попробуй удали в любой строке любого класса точку с запятой и убедишься сам, что теперь компилятор начнёт ругаться на это, какой бы класс ты не запустил. 0
Алексей Михайлов
24 мая 2023, 13:32
Это задача с TimeUnit он не поймёт где его Thread.sleep(); и что оборачивать...
0
Patrick
24 мая 2023, 13:38
Да тон не понравился) А так, сразу в трай-кетч обернул, заработало. Думал, что нужно еще что-то делать. 🤝
0
Patrick
24 мая 2023, 13:41
обернул, вроде работает. Но пока не понимаю, что я сделал)
0
Алексей Михайлов
24 мая 2023, 13:58
просто всё что теоретически относится к проверяемым исключениям(checked)
должно обрабатываться...
обычно если внимательно посмотреть
то после main(String [] args) вот тут {
}
есть ещё строка которая пробрасывает исключение дальше
она практически всегда ставится автоматом в IDE как только ты обращаешься к вводу в консоль или при работе со временем.
Сейчас просто запомни что добавить нужно и не парься дальше лекции с обработкой исключений будут...
+1
Patrick
24 мая 2023, 14:06
👍🤝
0
Алексей Михайлов
24 мая 2023, 11:28
я так понимаю у тебя компилятор жалуется на обработку исключений
Посмотри у тебя метод подчёркнут красным! Ткни в него ЛКМ и он тебе всё расскажет...
либо второй вариант обернуть его в try/catch
0
Patrick
24 мая 2023, 12:03
Как понять что ему нужно?
0
Anonymous #3303140
24 мая 2023, 12:28
Написано же:
(необработанное исключение типа InterruptedException в строке 12)
Это означает, что метод в 12 строке (setTimer()) может выбрасывать проверяемое исключение, которое ты не обработал.
Чтобы обработать исключение, нужно либо обернуть его в try-catch, либо пробросить на следующий уровень. Об этом тебе уже написал Алексей.
TLDR; Добавь throws в свой метод main. 0