summaryrefslogtreecommitdiff
path: root/cli/ops/workers.rs
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2019-09-26 00:46:58 +1000
committerRyan Dahl <ry@tinyclouds.org>2019-09-25 10:46:58 -0400
commit3d2d0ee771abe308aee9a0ab6c89fd09bac80330 (patch)
tree5cc74b1e38b824d083306c5264a484d64ee6d248 /cli/ops/workers.rs
parent112ce0df1f9e36a57b520aa59dc1767ba0716bb0 (diff)
Handle uncaught worker errors without panicking (#3019)
Diffstat (limited to 'cli/ops/workers.rs')
-rw-r--r--cli/ops/workers.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/cli/ops/workers.rs b/cli/ops/workers.rs
index 4eeecd068..6950f25d6 100644
--- a/cli/ops/workers.rs
+++ b/cli/ops/workers.rs
@@ -1,5 +1,6 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
use super::dispatch_json::{Deserialize, JsonOp, Value};
+use crate::deno_error::js_check;
use crate::deno_error::DenoError;
use crate::deno_error::ErrorKind;
use crate::resources;
@@ -124,8 +125,8 @@ pub fn op_create_worker(
let mut worker =
Worker::new(name, startup_data::deno_isolate_init(), child_state);
- worker.execute(&deno_main_call).unwrap();
- worker.execute("workerMain()").unwrap();
+ js_check(worker.execute(&deno_main_call));
+ js_check(worker.execute("workerMain()"));
let exec_cb = move |worker: Worker| {
let mut workers_tl = parent_state.workers.lock().unwrap();
@@ -135,7 +136,7 @@ pub fn op_create_worker(
// Has provided source code, execute immediately.
if has_source_code {
- worker.execute(&source_code).unwrap();
+ js_check(worker.execute(&source_code));
return Ok(JsonOp::Sync(exec_cb(worker)));
}