public static void main(String s[])
{
Thread t=Thread.currentThread();
t.setName("main");
try
{
for(int i=0;i<=5;i++)
{
System.out.println(i);
Thread.sleep(1000);//interrupted exception(System provides error on its own)
}
}
catch(InterruptedException e)
{
System.out.println("main thread interrupted");
}
}
`В моем понимании, когда есть условие исключения, управление переходит к улову, реализует его и оставляет код. когда мы используем thread.sleep и создаем catch для interruptedException, почему он продолжает работать? вместо того, чтобы уйти. Это код, когда для цикла запускается в первый раз, он печатает «0», когда он встречает thread.sleep, следовательно, прерванное исключение, не нужно ли его улавливать и выполнять S.O.P и заканчивать?Почему doesnt thread.sleep останавливается при первом улове?
Ну ... вы вызвали исключение, которое вызовет 'sleep' для завершения? –
Почему вы предполагаете, что оно прекратится, если вы не скажете об этом? –