diff options
author | Bert Belder <bertbelder@gmail.com> | 2019-07-23 21:12:49 +0200 |
---|---|---|
committer | Bert Belder <bertbelder@gmail.com> | 2019-07-24 01:57:32 +0200 |
commit | 1406961d2b32b6ff9d842e13d2add124b7e3119d (patch) | |
tree | 227956a5c1d83c6eed89f89d8158518484906a0e /core/libdeno/exceptions.cc | |
parent | e49d1e16ca2fca45e959c1add9b5a1d6866dbb90 (diff) |
Add error handling for dynamic imports to libdeno (#2678)
Diffstat (limited to 'core/libdeno/exceptions.cc')
-rw-r--r-- | core/libdeno/exceptions.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/libdeno/exceptions.cc b/core/libdeno/exceptions.cc index 7484e4eb4..5f4d578b6 100644 --- a/core/libdeno/exceptions.cc +++ b/core/libdeno/exceptions.cc @@ -200,6 +200,7 @@ void HandleException(v8::Local<v8::Context> context, std::string json_str = EncodeExceptionAsJSON(context, exception); CHECK_NOT_NULL(d); d->last_exception_ = json_str; + d->last_exception_handle_.Reset(isolate, exception); } void HandleExceptionMessage(v8::Local<v8::Context> context, @@ -218,6 +219,15 @@ void HandleExceptionMessage(v8::Local<v8::Context> context, d->last_exception_ = json_str; } +void ClearException(v8::Local<v8::Context> context) { + v8::Isolate* isolate = context->GetIsolate(); + DenoIsolate* d = DenoIsolate::FromIsolate(isolate); + CHECK_NOT_NULL(d); + + d->last_exception_.clear(); + d->last_exception_handle_.Reset(); +} + void ThrowInvalidArgument(v8::Isolate* isolate) { isolate->ThrowException(v8::Exception::TypeError(v8_str("Invalid Argument"))); } |