diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddExceptionToExistingCatchFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddExceptionToExistingCatchFix.java index 1ad4ebe5451d..0cc0057ffbec 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddExceptionToExistingCatchFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddExceptionToExistingCatchFix.java @@ -130,7 +130,7 @@ public class AddExceptionToExistingCatchFix extends PsiElementBaseIntentionActio @Nullable static Context from(@NotNull PsiElement element) { - if (!element.isValid() || !PsiUtil.isLanguageLevel7OrHigher(element)) return null; + if (!element.isValid() || !PsiUtil.isLanguageLevel7OrHigher(element) || element instanceof PsiMethodReferenceExpression) return null; List unhandledExceptions = new ArrayList<>(ExceptionUtil.getOwnUnhandledExceptions(element)); if (unhandledExceptions.isEmpty()) return null; List tryStatements = getTryStatements(element); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addExceptionToExistingCatch/beforeMethodReference.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addExceptionToExistingCatch/beforeMethodReference.java new file mode 100644 index 000000000000..ba25cf6c3e35 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addExceptionToExistingCatch/beforeMethodReference.java @@ -0,0 +1,18 @@ +// "Add exception to existing catch clause" "false" +import java.util.*; + +class MyTest { + + void demo(List strings) { + try { + strings.forEach(this::foo); + } + catch (Exception ex) { + // handle + } + } + + private void foo(String s) throws Exception { + throw new Exception(); + } +} \ No newline at end of file