summaryrefslogtreecommitdiff
path: root/cli/rt/40_error_stack.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/rt/40_error_stack.js')
-rw-r--r--cli/rt/40_error_stack.js18
1 files changed, 12 insertions, 6 deletions
diff --git a/cli/rt/40_error_stack.js b/cli/rt/40_error_stack.js
index 5cc189717..834503e34 100644
--- a/cli/rt/40_error_stack.js
+++ b/cli/rt/40_error_stack.js
@@ -221,12 +221,18 @@
formattedCallSites.push(formatCallSite(callSite));
}
Object.freeze(error.__callSiteEvals);
- return (
- `${error.name}: ${error.message}\n` +
- formattedCallSites
- .map((s) => ` at ${s}`)
- .join("\n")
- );
+ const message = error.message !== undefined ? error.message : "";
+ const name = error.name !== undefined ? error.name : "Error";
+ let messageLine;
+ if (name != "" && message != "") {
+ messageLine = `${name}: ${message}`;
+ } else if ((name || message) != "") {
+ messageLine = name || message;
+ } else {
+ messageLine = "";
+ }
+ return messageLine +
+ formattedCallSites.map((s) => `\n at ${s}`).join("");
}
function setPrepareStackTrace(ErrorConstructor) {