diff --git a/Userland/Libraries/LibJS/Runtime/VM.cpp b/Userland/Libraries/LibJS/Runtime/VM.cpp index 6d52861bc91..1ecf5377bd1 100644 --- a/Userland/Libraries/LibJS/Runtime/VM.cpp +++ b/Userland/Libraries/LibJS/Runtime/VM.cpp @@ -292,9 +292,14 @@ Value VM::construct(Function& function, Function& new_target, Optionalvalue().is_object() && is(exception->value().as_object())) { - auto& error = static_cast(exception->value().as_object()); - dbgln("Throwing JavaScript Error: {}, {}", error.name(), error.message()); + if (should_log_exceptions()) { + auto value = exception->value(); + if (value.is_object() && is(value.as_object())) { + auto& error = static_cast(value.as_object()); + dbgln("Throwing JavaScript exception: [{}] {}", error.name(), error.message()); + } else { + dbgln("Throwing JavaScript exception: {}", value); + } for (ssize_t i = m_call_stack.size() - 1; i >= 0; --i) { const auto& source_range = m_call_stack[i]->current_node->source_range();