Как мне обращаться с InterruptedException
при присоединении к другим потокам, при условии, что я на самом деле не ожидаю, что меня прервут, и нет ничего разумного, что можно сделать? Просто проглотить исключение?
try
{
t.join();
u.join();
}
catch (InterruptedException e)
{
// should not happen
}
Или я должен поместить каждый join
в отдельный try/catch
, поэтому если InterruptedExeption
произойдет при присоединении t
, по крайней мере u
получит шанс присоединения?
try
{
t.join();
}
catch (InterruptedException e)
{
// should not happen
}
try
{
u.join();
}
catch (InterruptedException e)
{
// should not happen
}
Или я должен осторожно проглотить исключения в цикле, чтобы в конечном итоге присоединиться к обоим потокам, даже если какой-нибудь злой парень попытается прервать меня?
while (true)
{
try
{
t.join();
break;
}
catch (InterruptedException e)
{
// no way, Jose!
}
}
while (true)
{
try
{
u.join();
break;
}
catch (InterruptedException e)
{
// no way, Jose!
}
}
Кстати, есть ли случай, когда InterruptedExeption
не делает мой код уродливым? :)