cpp: always return empty JSValue value after throwing exception (#13935)

Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com>
This commit is contained in:
Meghan Denny
2024-09-23 13:53:08 -07:00
committed by GitHub
parent ff9560c82a
commit 33075394a4
53 changed files with 899 additions and 898 deletions

View File

@@ -120,7 +120,7 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionNodeModuleModuleConstructor, (JSC::JSGlobalOb
auto scope = DECLARE_THROW_SCOPE(vm);
if (idValue.isString()) {
idString = idValue.toString(globalObject);
RETURN_IF_EXCEPTION(scope, JSC::JSValue::encode(JSC::jsUndefined()));
RETURN_IF_EXCEPTION(scope, {});
auto index = idString->tryGetValue()->reverseFind('/', idString->length());
@@ -165,7 +165,7 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionWrap, (JSC::JSGlobalObject * globalObject,
auto &vm = globalObject->vm();
auto scope = DECLARE_THROW_SCOPE(vm);
JSString *code = callFrame->argument(0).toStringOrNull(globalObject);
RETURN_IF_EXCEPTION(scope, JSC::JSValue::encode(JSC::jsUndefined()));
RETURN_IF_EXCEPTION(scope, {});
if (!code) {
return JSC::JSValue::encode(JSC::jsUndefined());
}
@@ -205,7 +205,7 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionNodeModuleCreateRequire,
val = url.fileSystemPath();
}
RETURN_IF_EXCEPTION(scope, JSC::JSValue::encode(JSC::jsUndefined()));
RETURN_IF_EXCEPTION(scope, {});
RELEASE_AND_RETURN(
scope, JSValue::encode(Bun::JSCommonJSModule::createBoundRequireFunction(
vm, globalObject, val)));
@@ -216,7 +216,7 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionFindSourceMap, (JSGlobalObject * globalObject
auto &vm = globalObject->vm();
auto scope = DECLARE_THROW_SCOPE(vm);
throwException(globalObject, scope, createError(globalObject, "module.SourceMap is not yet implemented in Bun"_s));
return JSValue::encode(jsUndefined());
return {};
}
JSC_DEFINE_HOST_FUNCTION(jsFunctionSyncBuiltinExports,
@@ -230,7 +230,7 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionSourceMap, (JSGlobalObject * globalObject, Ca
auto scope = DECLARE_THROW_SCOPE(vm);
throwException(globalObject, scope,
createError(globalObject, "Not implemented"_s));
return JSValue::encode(jsUndefined());
return {};
}
JSC_DEFINE_HOST_FUNCTION(jsFunctionResolveFileName, (JSC::JSGlobalObject * globalObject, JSC::CallFrame *callFrame)) {