for (int i = 30; i >= 0; i--) {
System.out.println(i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
Подскажите почему проходит только такой вариант?(по крайней мере у меня в валидаторе не принимает просто использование Thread.sleep(100); без try catch не проходит)
Артём
19 уровень
Вопрос по задержке времени
Решен
Комментарии (17)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Khramov_AN
6 апреля 2020, 18:57
И как простите, можно догадаться, при нашем уровне знаний, что в main надо еще добавить throws InterruptedException?
Если бы делал это не в Intellej - во век бы не догадался.
+7
Maxim
13 декабря 2019, 23:51
Знакомство с исключениями: try, catch, throws, multy-catch. Level 9...нафиг гуглить если это потом дается как урок...
0
ЧебураторСруль
27 января 2018, 23:32
откровенно говоря я решил так, без всяких заморочек с try-catch, Но меня напрягает, что вместо 1 Thread.sleep(1000), нужно использовать 10 иначе валидатор не принимает...
0
Роман Улинец
27 января 2018, 23:54
не 10 а один на 100 миллисекунд
0
ЧебураторСруль
28 января 2018, 00:39
У меня валидатор принял такое решение. Почему? Вопрос не ко мне...
Я сам удивился
0
Roman Java Developer Expert
29 января 2018, 09:55
Спасибо, исправим тест.
+1
Сергей НиловFull Stack Developer в Mygento
26 июня 2018, 22:11
так и не исправили тест, Thread.sleep(100) и Thread.sleep(1000) не проходит, только с try catch, в многих тестах отсутствую библиотеки, во многих задачах встречал что просят создать список, а библиотека не подключена, а сразу и не догадаешься в чем ошибка)
+5
Denis Naumov Software Developer
3 сентября 2019, 15:03
а я думал спецально так сделали чтоб в инете искать ответ. try catch, в задачи https://javarush.com/quests/lectures/questsyntax.level07.lecture12 еще не проходили было трудновато. хорошо что наткнулся на пост выше
0
Anonymous #1384518Expert
26 января 2018, 15:20
Чтобы пробросить исключение дальше, нужно просто в сигнатуре метода написать:
public static void main(String[] args) throws InterruptedException{
Тогда try/catch можно опустить
+25
Sergey JavaRushovich Java Developer
22 февраля 2020, 17:41
у меня не сработало
только через try/catch проскочил
0
Макс
26 февраля 2020, 07:54
сработало.
0
xpL
26 января 2018, 15:18
Метод Thread.sleep() бросает InterruptedException (исключение), которое вы обьзаны либо обработать в блоке try-catch, либо передать дальше.
Посколько вы еще на начальных уровнях Вам достаточно знать что при использовании этого метода всегда выбрасываеться исключение InterruptedException.
+11
Артём
26 января 2018, 15:19
спасибо за ответ! почитаю поподробнее!
0
Стас ПасинковSoftware Developer в ZipyMaster
28 января 2018, 15:08
пока не стоит)
если уж разбираться почему выкидывается это исключение - вам надо для начала разобраться в многопоточности, как там все работает. как запускать/останавливать нити, и все такое.
это все будет в отдельном курсе дальше.
сейчас вам достаточно и того ответа, что написал xpL: что проверяемые исключения надо либо словить и обработать в блоке try-catch, либо пробросить дальше, но тогда надо указать, что ваш метод тоже кидает это исключение.
+5
Антон НикольскийExpert
26 января 2018, 15:16решение
Если просто вставить Thread.sleep(100), то не только валидатор не примет, но вообще не откомпилируется.
Thread.sleep может выкидывать исключение InterruptedException, про которое вы обязаны указать что с ним делать.
+5
Артём
26 января 2018, 15:20
спасибо, почитаю поподробнее про InterruptedException.
0
Антон НикольскийExpert
26 января 2018, 15:25
Потом в курсе про все это будет очень подробно рассказано, сейчас про конкретное исключение нет большого смысла читать.
+2