Rust 的可靠性可以通过错误处理来体现,且大部分的错误在编译阶段即可提示。
介绍
Rust 错误分类:
- 可恢复错误:如文件未找到
- 不可恢复错误:程序 bug 导致,如数组越界
Rust 没有异常处理机制,针对不同的错误提供不同的方法:
- 可恢复错误:
Result<T, E>
- 不可恢复错误:
panic!
宏,和 golang 的 panic 功能类似- 获取更多调用栈的信息
- 设置环境变量
RUST_BACKTRACE=1 / full
cargo build/run
时,不带 --release
参数
使用原则:
- 在定义一个可能失败的函数时,优先考虑返回 Result,否则使用
panic!