Либо повторно прервите этот метод, либо сбросьте проблему "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 было "повторно прервано".

БОНУС:
Если вам интересно, вы можете поиграть с примерами здесь


Ура

Другие вопросы по тегам