From bc307f6b1c51dad288d51c7ac4475c876ceaf417 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Tue, 26 May 2020 12:52:20 +0100 Subject: [PATCH] LibJS: Only log exception throw information on Serenity This is a bit annoying when running the js REPL as part of the Lagom build, as it prints the error twice to the same terminal - once from dbg() and then from printf(). Long term this should probably be removed completely and each program take care itself of printing stacktraces to an appropriate location. --- Libraries/LibJS/Interpreter.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Libraries/LibJS/Interpreter.cpp b/Libraries/LibJS/Interpreter.cpp index 311743a60f..efee9b940a 100644 --- a/Libraries/LibJS/Interpreter.cpp +++ b/Libraries/LibJS/Interpreter.cpp @@ -239,6 +239,7 @@ Value Interpreter::construct(Function& function, Function& new_target, Optional< Value Interpreter::throw_exception(Exception* exception) { +#ifdef __serenity__ if (exception->value().is_object() && exception->value().as_object().is_error()) { auto& error = static_cast(exception->value().as_object()); dbg() << "Throwing JavaScript Error: " << error.name() << ", " << error.message(); @@ -250,6 +251,7 @@ Value Interpreter::throw_exception(Exception* exception) dbg() << " " << function_name; } } +#endif m_exception = exception; unwind(ScopeType::Try); return {};