nac3artiq: raise a python runtime exception instead of panic for compilation error (#108)

pull/145/head
ychenfo 2021-12-01 02:25:44 +08:00
parent 84ef57cae6
commit 761e941cdc
1 changed files with 4 additions and 2 deletions

View File

@ -197,7 +197,7 @@ impl Nac3 {
let (name, def_id, ty) = self
.composer
.register_top_level(stmt, Some(resolver.clone()), module_name.clone())
.unwrap();
.map_err(|e| exceptions::PyRuntimeError::new_err(format!("nac3 compilation failure: {}", e)))?;
name_to_def.insert(name, def_id);
if let Some(ty) = ty {
name_to_type.insert(name, ty);
@ -444,7 +444,9 @@ impl Nac3 {
);
let signature = store.add_cty(signature);
self.composer.start_analysis(true).unwrap();
self.composer.start_analysis(true).map_err(|e| exceptions::PyRuntimeError::new_err(format!(
"nac3 compilation failure: {}", e
)))?;
self.top_level = Some(Arc::new(self.composer.make_top_level_context()));
let top_level = self.top_level.as_ref().unwrap();
let instance = {