Либо повторно прервите этот метод, либо сбросьте проблему "InterruptedException в сонаре".
В одном из моих методов наступает прерванное исключение и исключение при выполнении. Я вставляю попытку поймать вот так.
try{
//my code
}catch(InterruptedException|ExecutionException e)
Log.error(" logging it");
throw new MonitoringException("it failed" , e)
//monitoringexception extends RunTimeException
Также в моем методе я ставлю броски InterruptedException,ExecutionException
Я получаю ниже критической ошибки в гидролокаторе - либо повторно прервите этот метод, либо сбросьте "InterruptedException
"
Кто-нибудь знает, как это исправить.
Пожалуйста, помогите немедленно.
0 ответов
Для "повторного прерывания" рекомендуется:
try{
//some code
} catch (InterruptedException ie) {
logger.error("InterruptedException: ", ie);
Thread.currentThread().interrupt();
} catch (ExecutionException ee) {
logger.error("ExecutionException: ",ee);
}
Обычно, когда поток прерывается, тот, кто прерывает поток, хочет, чтобы поток завершил то, что он делает в данный момент.
Однако убедитесь, что вы НЕ выполняете множественный улов:
catch (InterruptedException | ExecutionException e) {
logger.error("An error has occurred: ", e);
Thread.currentThread().interrupt();
}
Мы не хотим, чтобы исключение ExecutionException было "повторно прервано".
БОНУС:
Если вам интересно, вы можете поиграть с примерами здесь
Ура