当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Error用法及代码示例


本文简要介绍rust语言中 Trait std::error::Error 的用法。

用法

pub trait Error: Debug + Display {
    fn source(&self) -> Option<&(dyn Error + 'static)> { ... }
    fn backtrace(&self) -> Option<&Backtrace> { ... }
    fn description(&self) -> &str { ... }
    fn cause(&self) -> Option<&dyn Error> { ... }
}

Error 是表示对错误值的基本期望的特征,即 Result<T, E> 中类型为 E 的值。

错误必须通过 Display Debug 特征说明自己。错误消息通常是简洁的小写句子,没有尾随标点符号:

let err = "NaN".parse::<u32>().unwrap_err();
assert_eq!(err.to_string(), "invalid digit found in string");

错误可能会提供原因链信息。 Error::source() 通常在错误跨越 “abstraction boundaries” 时使用。如果一个模块必须报告由 lower-level 模块的错误引起的错误,它可以允许通过 Error::source() 访问该错误。这使得高级模块可以提供自己的错误,同时还可以通过source 链揭示一些用于调试的实现。

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Trait std::error::Error。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。