diff options
Diffstat (limited to 'cli/rt/40_error_stack.js')
-rw-r--r-- | cli/rt/40_error_stack.js | 18 |
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) { |