fix: 修复 NEW_EXPRESSION 异常未进入 unwind

This commit is contained in:
2026-06-08 23:06:43 +08:00
parent 95f5caf3bb
commit be199ca077
2 changed files with 33 additions and 4 deletions
+15 -4
View File
@@ -964,14 +964,25 @@ impl Vm {
}
}
Err(err_val) => {
return Err(format!("Native constructor error: {:?}", err_val));
self.exception_value = Some(err_val);
self.pending_error_kind = Some("Error");
match self.unwind() {
Ok(()) => continue,
Err(e) => return Err(e),
}
}
}
} else {
// Bytecode constructor - wired in plan 12.1-03
return Err(
"NEW_EXPRESSION: bytecode constructors not yet supported".into()
let error = crate::builtins::error::create_error(
self,
"NEW_EXPRESSION: bytecode constructors not yet supported",
);
self.exception_value = Some(error);
self.pending_error_kind = Some("Error");
match self.unwind() {
Ok(()) => continue,
Err(e) => return Err(e),
}
}
}