diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2019-09-26 00:46:58 +1000 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-09-25 10:46:58 -0400 |
commit | 3d2d0ee771abe308aee9a0ab6c89fd09bac80330 (patch) | |
tree | 5cc74b1e38b824d083306c5264a484d64ee6d248 /cli/ops/workers.rs | |
parent | 112ce0df1f9e36a57b520aa59dc1767ba0716bb0 (diff) |
Handle uncaught worker errors without panicking (#3019)
Diffstat (limited to 'cli/ops/workers.rs')
-rw-r--r-- | cli/ops/workers.rs | 7 |
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))); } |