自定义错误类型 #
一、定义错误类型 #
rust
use std::fmt;
use std::error::Error;
#[derive(Debug)]
struct MyError {
message: String,
}
impl fmt::Display for MyError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.message)
}
}
impl Error for MyError {}
二、使用 thiserror #
rust
use thiserror::Error;
#[derive(Error, Debug)]
pub enum DataStoreError {
#[error("数据存储错误")]
Disconnect,
#[error("无效数据: {0}")]
InvalidData(String),
}
三、总结 #
本章学习了:
- 自定义错误类型
- 实现 Error trait
- 使用 thiserror 库
最后更新:2026-03-27