错误处理
Result<T, E>
Ok/Err;match 或 if let 消费。库边界倾向具体错误类型(thiserror 派生);应用层可用 anyhow::Error 聚合上下文,二者角色不同。
? 运算符
在返回 Result 的函数中传播错误;From 实现决定自动转换。Option 与 Result 间可用 ok_or/transpose 等组合。
panic! 与 unwrap
不可恢复或不变式被破坏时使用 panic;生产路径避免无信息 unwrap/expect 滥用。#[cfg(debug_assertions)] 与 debug_assert! 用于开发期检查。
Error trait
std::error::Error 与 source() 链;错误上下文用 context/with_context(anyhow)或自定义包装类型。