diff --git a/src/bun.js/bindings/bindings.cpp b/src/bun.js/bindings/bindings.cpp index b199d55edc..38f1cd529e 100644 --- a/src/bun.js/bindings/bindings.cpp +++ b/src/bun.js/bindings/bindings.cpp @@ -3085,6 +3085,19 @@ JSC__JSModuleLoader__loadAndEvaluateModule(JSC__JSGlobalObject* globalObject, { auto& vm = globalObject->vm(); auto scope = DECLARE_THROW_SCOPE(vm); + + // Clear any pending exceptions + // + // Relevant for: + // + // - bun --hot + // - bun test (when loading the next module) + // + if (UNLIKELY(scope.exception())) { + scope.clearException(); + vm.clearLastException(); + } + auto name = makeAtomString(arg1->toWTFString()); auto* promise = JSC::loadAndEvaluateModule(globalObject, name, JSC::jsUndefined(), JSC::jsUndefined());