Intellij Idea PSI: исключение внутри лямбды считается обработанным всегда? - PullRequest
0 голосов
/ 13 февраля 2020

Во время разработки плагина IDEa я пытался получить необработанные исключения из этого блока кода:

IntStream.empty().map(operand -> { throw new Exception(); });

, но безуспешно.

Чтобы получить необработанное исключение, я использовал метод ExceptionUtil.getUnhandledExceptions, но он всегда возвращает пустой список. Внутри он пытается найти ручку, но решает, что лямбда объявляет это исключение (isDeclaredBySAMMethod(exceptionType, interfaceType) возвращает true, хотя interfaceType здесь равно null, потому что PsiLambdaExpression.getFunctionalInterfaceType() возвращает null).

Как получить это необработанное исключение?

...