diff --git a/native/cpp/quickjs_wrapper.cpp b/native/cpp/quickjs_wrapper.cpp index de1f46c..b08bf85 100644 --- a/native/cpp/quickjs_wrapper.cpp +++ b/native/cpp/quickjs_wrapper.cpp @@ -353,6 +353,10 @@ static bool throwIfUnhandledRejections(QuickJSWrapper *wrapper, JSContext *ctx) } static bool executePendingJobLoop(JNIEnv *env, JSRuntime *rt, JSContext *ctx) { + if (env->ExceptionCheck()) { + return false; + } + JSContext *ctx1; bool success = true; int err; @@ -543,10 +547,6 @@ jobject QuickJSWrapper::evaluate(JNIEnv *env, jobject thiz, jstring script, jstr return nullptr; } - if (env->ExceptionCheck()) { - return nullptr; - } - JSValue global = JS_GetGlobalObject(context); jobject jsObj = toJavaObject(env, thiz, global, result); JS_FreeValue(context, global);