自定义错误类型 #

一、定义错误类型 #

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