异常处理
异常处理简介。
使用Option和Result类型从异常中恢复。
Option和Result的组合方法。
传递异常。
不可恢复的异常。
自定义异常和Error特征。
异常处理简介
3种异常
可恢复异常是用户和环境与程序交互时预期会发生的异常。例如文件未找到(file notfound)或数字解析错误。
不可恢复异常是违反契约或程序常量的异常,例如索引越界或除以零的操作(分母是零)。
致命性异常是立即让程序终止运行的异常。这种情况包括内存不足和堆栈溢出。
可恢复的异常
Option
pub enum Option<T> {
/// 没有值
None,
/// 包含某些值'T'
Some(T),
}
use std::collections::HashMap;
fn main() {
let mut map = HashMap::new();
map.insert("one", 1);
map.insert("two", 2);
let value = map.get("one");
let incremented_value =