Во время разработки плагина IDEa я пытался получить необработанные исключения из этого блока кода:
IntStream.empty().map(operand -> { throw new Exception(); });
, но безуспешно.
Чтобы получить необработанное исключение, я использовал метод ExceptionUtil.getUnhandledExceptions
, но он всегда возвращает пустой список. Внутри он пытается найти ручку, но решает, что лямбда объявляет это исключение (isDeclaredBySAMMethod(exceptionType, interfaceType)
возвращает true, хотя interfaceType
здесь равно null, потому что PsiLambdaExpression.getFunctionalInterfaceType()
возвращает null).
Как получить это необработанное исключение?