本文简要介绍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 Error.source用法及代码示例
- Rust Error.last_os_error用法及代码示例
- Rust Error.chain用法及代码示例
- Rust Error.description用法及代码示例
- Rust Error.kind用法及代码示例
- Rust Error.from_raw_os_error用法及代码示例
- Rust Error.get_ref用法及代码示例
- Rust Error用法及代码示例
- Rust Error.into_inner用法及代码示例
- Rust Error.new用法及代码示例
- Rust Error.get_mut用法及代码示例
- Rust Error.raw_os_error用法及代码示例
- Rust Entry.or_insert_with用法及代码示例
- Rust ExitStatus.code用法及代码示例
- Rust Eq用法及代码示例
- Rust Entry.or_insert用法及代码示例
- Rust ExactSizeIterator.is_empty用法及代码示例
- Rust Extend.extend用法及代码示例
- Rust Entry.and_modify用法及代码示例
- Rust ExitStatusError.code用法及代码示例
- Rust ExactSizeIterator用法及代码示例
- Rust ExitStatusError用法及代码示例
- Rust ExitStatus.exit_ok用法及代码示例
- Rust Entry.or_insert_with_key用法及代码示例
- Rust Entry.key用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Trait std::error::Error。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
