From 8178665bd1877a55a4e82b07d6ac4a749c8a9c1c Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 2 Sep 2022 19:38:06 +0800 Subject: fix(cli/repl): await Promise.any([])... (#15623) --- cli/tools/repl/session.rs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'cli/tools/repl/session.rs') diff --git a/cli/tools/repl/session.rs b/cli/tools/repl/session.rs index d5058ab72..f2cdfe568 100644 --- a/cli/tools/repl/session.rs +++ b/cli/tools/repl/session.rs @@ -165,8 +165,18 @@ impl ReplSession { exception_details, } = evaluate_response.value; - if exception_details.is_some() { + Ok(if let Some(exception_details) = exception_details { self.set_last_thrown_error(&result).await?; + let description = match exception_details.exception { + Some(exception) => exception + .description + .unwrap_or_else(|| "Unknown exception".to_string()), + None => "Unknown exception".to_string(), + }; + EvaluationOutput::Error(format!( + "{} {}", + exception_details.text, description + )) } else { self .language_server @@ -174,12 +184,8 @@ impl ReplSession { .await; self.set_last_eval_result(&result).await?; - } - - let value = self.get_eval_value(&result).await?; - Ok(match exception_details { - Some(_) => EvaluationOutput::Error(format!("Uncaught {}", value)), - None => EvaluationOutput::Value(value), + let value = self.get_eval_value(&result).await?; + EvaluationOutput::Value(value) }) } Err(err) => { -- cgit v1.2.3