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を使用してinterruptedExceptionのキャッチを作成すると、なぜそれが実行され続けますか?終了する代わりに。これはコードで、forループが初めて実行されたときに、thread.sleepに遭遇したときに "0"を出力するので、interruptedexceptionが発生します.SO.O.Pを捕捉して終了するべきではありませんか?なぜ最初のcatchでthread.sleepが停止しないのですか?
さて、あなたは 'sleep'を終了させる例外を引き起こしましたか? –
あなたがそれを伝えていないと、なぜあなたはそれが終了すると思いますか? –