Skip to content
On this page

错误处理

Result<T, E>

Ok/Errmatchif let 消费。库边界倾向具体错误类型(thiserror 派生);应用层可用 anyhow::Error 聚合上下文,二者角色不同。

? 运算符

在返回 Result 的函数中传播错误;From 实现决定自动转换。OptionResult 间可用 ok_or/transpose 等组合。

panic!unwrap

不可恢复或不变式被破坏时使用 panic;生产路径避免无信息 unwrap/expect 滥用。#[cfg(debug_assertions)]debug_assert! 用于开发期检查。

Error trait

std::error::Errorsource() 链;错误上下文用 context/with_contextanyhow)或自定义包装类型。

技术文库