This makes debugging a lot easier since we actually learn that an Error got thrown.
@@ -206,6 +206,10 @@ Value Interpreter::call(Function* function, Value this_value, const Vector<Value
Value Interpreter::throw_exception(Exception* exception)
{
+ if (exception->value().is_object() && exception->value().as_object().is_error()) {
+ auto& error = static_cast<Error&>(exception->value().as_object());
+ dbg() << "Throwing JavaScript Error: " << error.name() << ", " << error.message();
+ }
m_exception = exception;
unwind(ScopeType::Try);
return {};