diff options
Diffstat (limited to 'core/libdeno')
-rw-r--r-- | core/libdeno/api.cc | 6 | ||||
-rw-r--r-- | core/libdeno/deno.h | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/core/libdeno/api.cc b/core/libdeno/api.cc index 061638cb5..332a1c555 100644 --- a/core/libdeno/api.cc +++ b/core/libdeno/api.cc @@ -160,6 +160,12 @@ void deno_pinned_buf_delete(deno_pinned_buf* buf) { auto _ = deno::PinnedBuf(buf); } +void deno_throw_exception(Deno* d_, const char* text) { + auto* d = unwrap(d_); + auto* isolate = d->isolate_; + isolate->ThrowException(deno::v8_str(text)); +} + void deno_respond(Deno* d_, void* user_data, deno_op_id op_id, deno_buf buf) { auto* d = unwrap(d_); if (d->current_args_ != nullptr) { diff --git a/core/libdeno/deno.h b/core/libdeno/deno.h index 0bdd31f50..946978e3b 100644 --- a/core/libdeno/deno.h +++ b/core/libdeno/deno.h @@ -110,6 +110,8 @@ void deno_execute(Deno* d, void* user_data, const char* js_filename, // If a JS exception was encountered, deno_last_exception() will be non-NULL. void deno_respond(Deno* d, void* user_data, deno_op_id op_id, deno_buf buf); +void deno_throw_exception(Deno* d, const char* text); + // consumes zero_copy void deno_pinned_buf_delete(deno_pinned_buf* buf); |