panic与不可恢复错误 #
一、panic! 宏 #
1.1 触发panic #
rust
fn main() {
panic!("程序崩溃!");
}
1.2 数组越界 #
rust
fn main() {
let v = vec![1, 2, 3];
// v[99]; // panic: index out of bounds
}
二、栈展开 #
panic时会进行栈展开,调用所有析构函数。
三、panic 设置 #
toml
# Cargo.toml
[profile.release]
panic = 'abort' # 直接终止,不展开栈
四、总结 #
本章学习了:
- panic! 宏
- 栈展开机制
- panic 配置
最后更新:2026-03-27