mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00:00
Handle uncaught worker errors without panicking (#3019)
This commit is contained in:
parent
112ce0df1f
commit
3d2d0ee771
6 changed files with 31 additions and 15 deletions
15
cli/lib.rs
15
cli/lib.rs
|
@ -51,6 +51,8 @@ mod tokio_write;
|
|||
pub mod version;
|
||||
pub mod worker;
|
||||
|
||||
use crate::deno_error::js_check;
|
||||
use crate::deno_error::print_err_and_exit;
|
||||
use crate::progress::Progress;
|
||||
use crate::state::ThreadSafeState;
|
||||
use crate::worker::Worker;
|
||||
|
@ -90,17 +92,6 @@ impl log::Log for Logger {
|
|||
fn flush(&self) {}
|
||||
}
|
||||
|
||||
fn print_err_and_exit(err: ErrBox) {
|
||||
eprintln!("{}", err.to_string());
|
||||
std::process::exit(1);
|
||||
}
|
||||
|
||||
fn js_check(r: Result<(), ErrBox>) {
|
||||
if let Err(err) = r {
|
||||
print_err_and_exit(err);
|
||||
}
|
||||
}
|
||||
|
||||
fn create_worker_and_state(
|
||||
flags: DenoFlags,
|
||||
argv: Vec<String>,
|
||||
|
@ -118,7 +109,7 @@ fn create_worker_and_state(
|
|||
});
|
||||
// TODO(kevinkassimo): maybe make include_deno_namespace also configurable?
|
||||
let state = ThreadSafeState::new(flags, argv, progress, true)
|
||||
.map_err(print_err_and_exit)
|
||||
.map_err(deno_error::print_err_and_exit)
|
||||
.unwrap();
|
||||
let worker = Worker::new(
|
||||
"main".to_string(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue