diff options
author | Kevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com> | 2018-10-08 08:36:09 -0700 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2018-10-08 11:36:09 -0400 |
commit | 2b8cee9a49e4e654df572f7ad1184f8bdd7a8865 (patch) | |
tree | eca0ffd65b9fb4c842ea72e19b80987ccbd29b0a | |
parent | ffb41e61f138a683aac5fd89e0dd72b720c929d6 (diff) |
Check thrown type, print String(...) if not instance of error (#939)
Fixes #935
-rw-r--r-- | js/main.ts | 8 | ||||
-rw-r--r-- | tests/error_007_any.ts | 1 | ||||
-rw-r--r-- | tests/error_007_any.ts.out | 1 |
3 files changed, 8 insertions, 2 deletions
diff --git a/js/main.ts b/js/main.ts index 265037111..826d3e811 100644 --- a/js/main.ts +++ b/js/main.ts @@ -25,9 +25,13 @@ function onGlobalError( source: string, lineno: number, colno: number, - error: Error + error: any // tslint:disable-line:no-any ) { - console.log(error.stack); + if (error instanceof Error) { + console.log(error.stack); + } else { + console.log(`Thrown: ${String(error)}`); + } os.exit(1); } diff --git a/tests/error_007_any.ts b/tests/error_007_any.ts new file mode 100644 index 000000000..778886fcb --- /dev/null +++ b/tests/error_007_any.ts @@ -0,0 +1 @@ +throw {}; diff --git a/tests/error_007_any.ts.out b/tests/error_007_any.ts.out new file mode 100644 index 000000000..13335a92c --- /dev/null +++ b/tests/error_007_any.ts.out @@ -0,0 +1 @@ +Thrown: [object Object] |