diff options
Diffstat (limited to 'src/bun.js')
-rw-r--r-- | src/bun.js/bindings/napi.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/bun.js/bindings/napi.cpp b/src/bun.js/bindings/napi.cpp index d42ee9da1..574224939 100644 --- a/src/bun.js/bindings/napi.cpp +++ b/src/bun.js/bindings/napi.cpp @@ -967,6 +967,21 @@ extern "C" napi_status napi_get_and_clear_last_exception(napi_env env, return napi_ok; } +extern "C" napi_status napi_fatal_exception(napi_env env, + napi_value err) +{ + auto globalObject = toJS(env); + JSC::JSValue value = JSC::JSValue::decode(reinterpret_cast<JSC::EncodedJSValue>(err)); + JSC::JSObject* obj = value.getObject(); + if (UNLIKELY(obj == nullptr || !obj->isErrorInstance())) { + return napi_invalid_arg; + } + + Bun__reportUnhandledError(globalObject, JSValue::encode(value)); + + return napi_ok; +} + extern "C" napi_status napi_throw(napi_env env, napi_value error) { auto globalObject = toJS(env); |