Skip to content

Commit e566d57

Browse files
szuendDevtools-frontend LUCI CQ
authored andcommitted
[console] Wrap Error.stack in a span/div when standard formatting fails
This CL wraps the linkified Error.stack DocumentFragment in a span or div element when the "tryFormatAsError" method fails to extract and render an Error object. With this CL, we properly separate the different Errors in a Error.cause chain where we fail to parse and format some of the Errors. [email protected] Fixed: 395489589 Change-Id: Id0e4d610281e4e1f5cf7fef9d75a595ec545a6c5 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6276558 Reviewed-by: Philip Pfaffe <[email protected]> Commit-Queue: Simon Zünd <[email protected]>
1 parent e8b377b commit e566d57

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

front_end/panels/console/ConsoleViewMessage.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -984,8 +984,11 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
984984
const error = SDK.RemoteObject.RemoteError.objectAsError(errorObj);
985985
const [details, cause] = await Promise.all([error.exceptionDetails(), error.cause()]);
986986
const errorElementType = includeCausedByPrefix ? 'div' : 'span';
987-
const errorElement = this.tryFormatAsError(error.errorStack, details, errorElementType) ??
988-
this.linkifyStringAsFragment(error.errorStack);
987+
let errorElement = this.tryFormatAsError(error.errorStack, details, errorElementType);
988+
if (!errorElement) {
989+
errorElement = document.createElement(errorElementType);
990+
errorElement.append(this.linkifyStringAsFragment(error.errorStack));
991+
}
989992
if (includeCausedByPrefix) {
990993
errorElement.prepend('Caused by: ');
991994
}

0 commit comments

Comments
 (0)