@@ -2285,36 +2285,60 @@ inline Napi::Value FunctionReference::operator ()(
2285
2285
2286
2286
inline Napi::Value FunctionReference::Call (const std::initializer_list<napi_value>& args) const {
2287
2287
EscapableHandleScope scope (_env);
2288
- return scope.Escape (Value ().Call (args));
2288
+ Napi::Value result = Value ().Call (args);
2289
+ if (scope.Env ().IsExceptionPending ()) {
2290
+ return Value ();
2291
+ }
2292
+ return scope.Escape (result);
2289
2293
}
2290
2294
2291
2295
inline Napi::Value FunctionReference::Call (const std::vector<napi_value>& args) const {
2292
2296
EscapableHandleScope scope (_env);
2293
- return scope.Escape (Value ().Call (args));
2297
+ Napi::Value result = Value ().Call (args);
2298
+ if (scope.Env ().IsExceptionPending ()) {
2299
+ return Value ();
2300
+ }
2301
+ return scope.Escape (result);
2294
2302
}
2295
2303
2296
2304
inline Napi::Value FunctionReference::Call (
2297
2305
napi_value recv, const std::initializer_list<napi_value>& args) const {
2298
2306
EscapableHandleScope scope (_env);
2299
- return scope.Escape (Value ().Call (recv, args));
2307
+ Napi::Value result = Value ().Call (recv, args);
2308
+ if (scope.Env ().IsExceptionPending ()) {
2309
+ return Value ();
2310
+ }
2311
+ return scope.Escape (result);
2300
2312
}
2301
2313
2302
2314
inline Napi::Value FunctionReference::Call (
2303
2315
napi_value recv, const std::vector<napi_value>& args) const {
2304
2316
EscapableHandleScope scope (_env);
2305
- return scope.Escape (Value ().Call (recv, args));
2317
+ Napi::Value result = Value ().Call (recv, args);
2318
+ if (scope.Env ().IsExceptionPending ()) {
2319
+ return Value ();
2320
+ }
2321
+ return scope.Escape (result);
2306
2322
}
2307
2323
2308
2324
inline Napi::Value FunctionReference::MakeCallback (
2309
2325
napi_value recv, const std::initializer_list<napi_value>& args) const {
2310
2326
EscapableHandleScope scope (_env);
2311
- return scope.Escape (Value ().MakeCallback (recv, args));
2327
+ Napi::Value result = Value ().MakeCallback (recv, args);
2328
+ if (scope.Env ().IsExceptionPending ()) {
2329
+ return Value ();
2330
+ }
2331
+ return scope.Escape (result);
2312
2332
}
2313
2333
2314
2334
inline Napi::Value FunctionReference::MakeCallback (
2315
2335
napi_value recv, const std::vector<napi_value>& args) const {
2316
2336
EscapableHandleScope scope (_env);
2317
- return scope.Escape (Value ().MakeCallback (recv, args));
2337
+ Napi::Value result = Value ().MakeCallback (recv, args);
2338
+ if (scope.Env ().IsExceptionPending ()) {
2339
+ return Value ();
2340
+ }
2341
+ return scope.Escape (result);
2318
2342
}
2319
2343
2320
2344
inline Object FunctionReference::New (const std::initializer_list<napi_value>& args) const {
0 commit comments