aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-01-23 20:10:51 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-01-23 20:10:51 -0800
commit084d78be29fb2378c792a4ca68d208f0fc47ae0f (patch)
treeaa11f40b3a67199f142fa939ca775b37c3dac4eb /src
parent9c627e884de0e3c3b0f6d1819aabd9a484ff2d1e (diff)
downloadbun-084d78be29fb2378c792a4ca68d208f0fc47ae0f.tar.gz
bun-084d78be29fb2378c792a4ca68d208f0fc47ae0f.tar.zst
bun-084d78be29fb2378c792a4ca68d208f0fc47ae0f.zip
Add C++ exception handler
Diffstat (limited to 'src')
-rw-r--r--src/javascript/jsc/bindings/ZigGlobalObject.cpp2
-rw-r--r--src/javascript/jsc/bindings/bindings.zig3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/javascript/jsc/bindings/ZigGlobalObject.cpp b/src/javascript/jsc/bindings/ZigGlobalObject.cpp
index 0329024a4..43a106c2d 100644
--- a/src/javascript/jsc/bindings/ZigGlobalObject.cpp
+++ b/src/javascript/jsc/bindings/ZigGlobalObject.cpp
@@ -97,7 +97,7 @@ extern "C" void JSCInitialize() {
JSC::Options::exposeInternalModuleLoader() = true;
JSC::Options::useSharedArrayBuffer() = true;
// JSC::Options::useAtMethod() = true;
- // std::set_terminate([]() { Zig__GlobalObject__onCrash(); });
+ std::set_terminate([]() { Zig__GlobalObject__onCrash(); });
WTF::initializeMainThread();
JSC::initialize();
}
diff --git a/src/javascript/jsc/bindings/bindings.zig b/src/javascript/jsc/bindings/bindings.zig
index f615d584a..c3e2314f5 100644
--- a/src/javascript/jsc/bindings/bindings.zig
+++ b/src/javascript/jsc/bindings/bindings.zig
@@ -431,7 +431,8 @@ pub fn NewGlobalObject(comptime Type: type) type {
}
Output.flush();
- std.os.abort();
+ const Reporter = @import("../../../report.zig");
+ Reporter.fatal(null, "A C++ exception occurred");
}
};
}