From b42cf813ed21890345c1b20f6df028e2977ed8b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Sun, 23 Oct 2022 14:35:45 +0800 Subject: [PATCH] catch some Error fixed #11 --- .../github/linwancen/plugin/show/CopyReferenceSimple.java | 4 ++++ .../io/github/linwancen/plugin/show/doc/PsiClassUtils.java | 6 +++++- .../linwancen/plugin/show/line/NewCallRefToPsiDoc.java | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/linwancen/plugin/show/CopyReferenceSimple.java b/src/main/java/io/github/linwancen/plugin/show/CopyReferenceSimple.java index 6990fed..ec86a59 100644 --- a/src/main/java/io/github/linwancen/plugin/show/CopyReferenceSimple.java +++ b/src/main/java/io/github/linwancen/plugin/show/CopyReferenceSimple.java @@ -23,8 +23,12 @@ public class CopyReferenceSimple extends CopyReferenceAction { private static final Pattern QUALIFIED_PATTERN = Pattern.compile("[\\w.]+\\."); + @Override protected String getQualifiedName(Editor editor, List elements) { String qualifiedName = super.getQualifiedName(editor, elements); + if (qualifiedName == null) { + return null; + } int i = qualifiedName.indexOf("("); if (i > 0) { return QUALIFIED_PATTERN.matcher(qualifiedName).replaceAll("").replace('#', '.'); diff --git a/src/main/java/io/github/linwancen/plugin/show/doc/PsiClassUtils.java b/src/main/java/io/github/linwancen/plugin/show/doc/PsiClassUtils.java index 3f317a3..7f8f628 100644 --- a/src/main/java/io/github/linwancen/plugin/show/doc/PsiClassUtils.java +++ b/src/main/java/io/github/linwancen/plugin/show/doc/PsiClassUtils.java @@ -50,7 +50,11 @@ public class PsiClassUtils { @NotNull public static PsiClass[] fullNameToClass(@NotNull String className, @NotNull Project project) { JavaPsiFacade javaPsiFacade = JavaPsiFacade.getInstance(project); - return javaPsiFacade.findClasses(className, GlobalSearchScope.allScope(project)); + try { + return javaPsiFacade.findClasses(className, GlobalSearchScope.allScope(project)); + } catch (Throwable e) { + return PsiClass.EMPTY_ARRAY; + } } @NotNull diff --git a/src/main/java/io/github/linwancen/plugin/show/line/NewCallRefToPsiDoc.java b/src/main/java/io/github/linwancen/plugin/show/line/NewCallRefToPsiDoc.java index a6bd35e..8dacbc9 100644 --- a/src/main/java/io/github/linwancen/plugin/show/line/NewCallRefToPsiDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/line/NewCallRefToPsiDoc.java @@ -78,7 +78,7 @@ class NewCallRefToPsiDoc { if (methodComment != null) { return methodComment; } - } catch (Exception ignored) { + } catch (Throwable ignored) { // ignored } return null;