diff --git a/vscode-extensions/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/ExceptionUtil.java b/vscode-extensions/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/ExceptionUtil.java index f1a0494f1..cc5fd29bf 100644 --- a/vscode-extensions/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/ExceptionUtil.java +++ b/vscode-extensions/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/ExceptionUtil.java @@ -64,6 +64,19 @@ public class ExceptionUtil { String msg = cause.getClass().getSimpleName() + ": " + cause.getMessage(); return msg; } + + /** + * + * @param e + * @return a nicer message suitable for display to the user + */ + public static String getMessageForUserDisplay(Throwable e) { + // The message of nested exception is usually more interesting than the + // one on top. + Throwable cause = getDeepestCause(e); + String msg = cause.getMessage(); + return msg; + } public static IllegalStateException notImplemented(String string) { return new IllegalStateException("Not implemented: " + string); diff --git a/vscode-extensions/commons/commons-yaml/src/main/java/org/springframework/ide/vscode/commons/yaml/completion/YTypeAssistContext.java b/vscode-extensions/commons/commons-yaml/src/main/java/org/springframework/ide/vscode/commons/yaml/completion/YTypeAssistContext.java index e07c817ee..a83d03401 100644 --- a/vscode-extensions/commons/commons-yaml/src/main/java/org/springframework/ide/vscode/commons/yaml/completion/YTypeAssistContext.java +++ b/vscode-extensions/commons/commons-yaml/src/main/java/org/springframework/ide/vscode/commons/yaml/completion/YTypeAssistContext.java @@ -155,7 +155,7 @@ public class YTypeAssistContext extends AbstractYamlAssistContext { values = typeUtil.getHintValues(type, getSchemaContext()); } catch (Exception e) { DocumentEdits edits = new DocumentEdits(doc.getDocument()); - return ImmutableList.of(completionFactory().errorMessage(ExceptionUtil.getMessage(e), query, type, edits, typeUtil)); + return ImmutableList.of(completionFactory().errorMessage(ExceptionUtil.getMessageForUserDisplay(e), query, type, edits, typeUtil)); } if (values!=null) { ArrayList completions = new ArrayList<>();