handle `throw` of non-`Error`s gracefully (#3492)
authorAlex Lam S.L <alexlamsl@gmail.com>
Wed, 16 Oct 2019 22:29:02 +0000 (06:29 +0800)
committerGitHub <noreply@github.com>
Wed, 16 Oct 2019 22:29:02 +0000 (06:29 +0800)
test/ufuzz.js

index a77d161..8612547 100644 (file)
@@ -959,14 +959,19 @@ if (require.main !== module) {
     return;
 }
 
+function writeln(stream, msg) {
+    if (typeof msg != "undefined") {
+        stream.write(typeof msg == "string" ? msg : msg.stack || "" + msg);
+    }
+    stream.write("\n");
+}
+
 function println(msg) {
-    if (typeof msg != "undefined") process.stdout.write(typeof msg == "string" ? msg : msg.stack);
-    process.stdout.write("\n");
+    writeln(process.stdout, msg);
 }
 
 function errorln(msg) {
-    if (typeof msg != "undefined") process.stderr.write(typeof msg == "string" ? msg : msg.stack);
-    process.stderr.write("\n");
+    writeln(process.stderr, msg);
 }
 
 function try_beautify(code, toplevel, result, printfn) {