From 4fe24a4f3c6bf68b2fd69de028a89842a0fe7ec8 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Wed, 10 Aug 2022 21:46:17 -0700 Subject: Log uncaught exceptions --- src/bun.js/bindings/JSDOMExceptionHandling.cpp | 4 ++-- src/bun.js/bindings/ZigGlobalObject.cpp | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/bun.js/bindings/JSDOMExceptionHandling.cpp b/src/bun.js/bindings/JSDOMExceptionHandling.cpp index b3627481d..38a55f7f2 100644 --- a/src/bun.js/bindings/JSDOMExceptionHandling.cpp +++ b/src/bun.js/bindings/JSDOMExceptionHandling.cpp @@ -71,10 +71,10 @@ void reportException(JSGlobalObject* lexicalGlobalObject, JSC::Exception* except // exceptionSourceURL = callFrame->sourceURL(); // } - auto errorMessage = retrieveErrorMessage(*lexicalGlobalObject, vm, exception->value(), scope); - Zig__GlobalObject__reportUncaughtException(globalObject, exception); + Zig::GlobalObject::reportUncaughtExceptionAtEventLoop(globalObject, exception); if (exceptionDetails) { + auto errorMessage = retrieveErrorMessage(*lexicalGlobalObject, vm, exception->value(), scope); exceptionDetails->message = errorMessage; exceptionDetails->lineNumber = lineNumber; exceptionDetails->columnNumber = columnNumber; diff --git a/src/bun.js/bindings/ZigGlobalObject.cpp b/src/bun.js/bindings/ZigGlobalObject.cpp index 03cee0bb4..ee3aa602d 100644 --- a/src/bun.js/bindings/ZigGlobalObject.cpp +++ b/src/bun.js/bindings/ZigGlobalObject.cpp @@ -259,6 +259,8 @@ extern "C" bool Zig__GlobalObject__resetModuleRegistryMap(JSC__JSGlobalObject* g return true; } +extern "C" void Bun__reportError(JSC__JSGlobalObject*, JSC__JSValue); + namespace Zig { using namespace WebCore; @@ -358,7 +360,7 @@ WebCore::ScriptExecutionContext* GlobalObject::scriptExecutionContext() const void GlobalObject::reportUncaughtExceptionAtEventLoop(JSGlobalObject* globalObject, JSC::Exception* exception) { - Zig__GlobalObject__reportUncaughtException(globalObject, exception); + Bun__reportError(globalObject, JSValue::encode(JSValue(exception))); } void GlobalObject::promiseRejectionTracker(JSGlobalObject* obj, JSC::JSPromise* promise, -- cgit v1.2.3