我需要在程序运行时捕获一个panic,并且不关闭程序。例如,如何在此处捕获panic并打印“Hello, World”?:
fn main() {
let v = vec![1, 2, 3];
v[99];
println!("Hello, World");
}
fn main() {
let v = vec![1, 2, 3];
v[99];
println!("Hello, World");
}
您可以使用std::panic::catch_unwind
来捕获非正常终止的 panic,但一定要先阅读文档:
fn main() {
let v = vec![1, 2, 3];
let panics = std::panic::catch_unwind(|| v[99]).is_err();
assert!(panics);
println!("Hello, World");
}