thiserror
是一個 Rust 庫,用于簡化錯誤處理。它本身是跨平臺的,因為它不依賴于特定平臺的特性。你可以在不同的操作系統(如 Windows、macOS 和 Linux)和架構(如 x86、x86_64、ARM 等)上使用 thiserror
。
要在你的 Rust 項目中使用 thiserror
,你需要將其添加到你的 Cargo.toml
文件中:
[dependencies]
thiserror = "1.0"
然后,在你的代碼中,你可以使用 thiserror
來定義錯誤類型:
use thiserror::Error;
#[derive(Error, Debug)]
pub enum MyError {
#[error("An IO error occurred: {0}")]
IoError(#[from] std::io::Error),
#[error("A custom error occurred: {0}")]
CustomError(String),
}
這里,我們定義了一個名為 MyError
的枚舉,它包含了兩種錯誤類型:IoError
和 CustomError
。IoError
是一個從 std::io::Error
派生的錯誤,而 CustomError
是一個包含字符串消息的自定義錯誤。通過使用 #[derive(Error, Debug)]
宏,我們可以自動為這個枚舉生成錯誤處理代碼。