| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent a8cc8b6 commit c2259c9
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -761,12 +761,14 @@ napi_status napi_get_last_error_info(napi_env env, | |||
| 761 | 761 | NAPI_ARRAYSIZE(error_messages) == last_status + 1, | |
| 762 | 762 | "Count of error messages must match count of error values"); | |
| 763 | 763 | CHECK_LE(env->last_error.error_code, last_status); | |
| 764 | - | ||
| 765 | 764 | // Wait until someone requests the last error information to fetch the error | |
| 766 | 765 | // message string | |
| 767 | 766 | env->last_error.error_message = | |
| 768 | 767 | error_messages[env->last_error.error_code]; | |
| 769 | 768 | ||
| 769 | + if (env->last_error.error_code == napi_ok) { | ||
| 770 | + napi_clear_last_error(env); | ||
| 771 | + } | ||
| 770 | 772 | *result = &(env->last_error); | |
| 771 | 773 | return napi_ok; | |
| 772 | 774 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -159,6 +159,7 @@ static inline napi_status napi_clear_last_error(napi_env env) { | |||
| 159 | 159 | // TODO(boingoing): Should this be a callback? | |
| 160 | 160 | env->last_error.engine_error_code = 0; | |
| 161 | 161 | env->last_error.engine_reserved = nullptr; | |
| 162 | + env->last_error.error_message = nullptr; | ||
| 162 | 163 | return napi_ok; | |
| 163 | 164 | } | |
| 164 | 165 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -8,12 +8,13 @@ | |||
| 8 | 8 | const napi_extended_error_info *error_info; \ | |
| 9 | 9 | napi_get_last_error_info((env), &error_info); \ | |
| 10 | 10 | bool is_pending; \ | |
| 11 | + const char* err_message = error_info->error_message; \ | ||
| 11 | 12 | napi_is_exception_pending((env), &is_pending); \ | |
| 12 | 13 | /* If an exception is already pending, don't rethrow it */ \ | |
| 13 | 14 | if (!is_pending) { \ | |
| 14 | - const char* error_message = error_info->error_message != NULL ? \ | ||
| 15 | - error_info->error_message : \ | ||
| 16 | - "empty error message"; \ | ||
| 15 | + const char* error_message = err_message != NULL ? \ | ||
| 16 | + err_message : \ | ||
| 17 | + "empty error message"; \ | ||
| 17 | 18 | napi_throw_error((env), NULL, error_message); \ | |
| 18 | 19 | } \ | |
| 19 | 20 | } while (0) | |
| Back | FazBrowse Home | New Git URL |
0 commit comments