| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent ac27431 commit e26b89e
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -346,7 +346,7 @@ napi_value create_addon(napi_env env); | |||
| 346 | 346 | // addon.c | |
| 347 | 347 | #include "addon.h" | |
| 348 | 348 | ||
| 349 | - #define NAPI_CALL(env, call) \ | ||
| 349 | + #define NODE_API_CALL(env, call) \ | ||
| 350 | 350 | do { \ | |
| 351 | 351 | napi_status status = (call); \ | |
| 352 | 352 | if (status != napi_ok) { \ | |
@@ -355,13 +355,14 @@ napi_value create_addon(napi_env env); | |||
| 355 | 355 | const char* err_message = error_info->error_message; \ | |
| 356 | 356 | bool is_pending; \ | |
| 357 | 357 | napi_is_exception_pending((env), &is_pending); \ | |
| 358 | + /* If an exception is already pending, don't rethrow it */ \ | ||
| 358 | 359 | if (!is_pending) { \ | |
| 359 | 360 | const char* message = (err_message == NULL) \ | |
| 360 | 361 | ? "empty error message" \ | |
| 361 | 362 | : err_message; \ | |
| 362 | 363 | napi_throw_error((env), NULL, message); \ | |
| 363 | - return NULL; \ | ||
| 364 | 364 | } \ | |
| 365 | + return NULL; \ | ||
| 365 | 366 | } \ | |
| 366 | 367 | } while(0) | |
| 367 | 368 | ||
@@ -373,20 +374,20 @@ DoSomethingUseful(napi_env env, napi_callback_info info) { | |||
| 373 | 374 | ||
| 374 | 375 | napi_value create_addon(napi_env env) { | |
| 375 | 376 | napi_value result; | |
| 376 | - NAPI_CALL(env, napi_create_object(env, &result)); | ||
| 377 | + NODE_API_CALL(env, napi_create_object(env, &result)); | ||
| 377 | 378 | ||
| 378 | 379 | napi_value exported_function; | |
| 379 | - NAPI_CALL(env, napi_create_function(env, | ||
| 380 | - "doSomethingUseful", | ||
| 381 | - NAPI_AUTO_LENGTH, | ||
| 382 | - DoSomethingUseful, | ||
| 383 | - NULL, | ||
| 384 | - &exported_function)); | ||
| 385 | - | ||
| 386 | - NAPI_CALL(env, napi_set_named_property(env, | ||
| 387 | - result, | ||
| 388 | - "doSomethingUseful", | ||
| 389 | - exported_function)); | ||
| 380 | + NODE_API_CALL(env, napi_create_function(env, | ||
| 381 | + "doSomethingUseful", | ||
| 382 | + NAPI_AUTO_LENGTH, | ||
| 383 | + DoSomethingUseful, | ||
| 384 | + NULL, | ||
| 385 | + &exported_function)); | ||
| 386 | + | ||
| 387 | + NODE_API_CALL(env, napi_set_named_property(env, | ||
| 388 | + result, | ||
| 389 | + "doSomethingUseful", | ||
| 390 | + exported_function)); | ||
| 390 | 391 | ||
| 391 | 392 | return result; | |
| 392 | 393 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments