rust中的thiserror详细理解

复制代码
use anyhow::{bail, Context, Error, Result};
use std::{boxed, fs};
use std::io::Read;
use thiserror::Error;

// #[derive(Clone, Debug, Eq, Error, PartialEq)]
// #[error("Found no username in {0}")]
#[derive(Debug,Error)]
#[error("Found no username in {0}")]
struct EmptyUsernameError(String);

fn read_username(path: &str) ->Box<dyn std::error::Error>{

        return Box::new(EmptyUsernameError(path.to_string()));

}

fn main() {
    //fs::write("config.dat", "").unwrap();
    println!("{:?}", read_username("config.dat")) ;
}

结合https://docs.rs/thiserror/latest/thiserror/ 一起看。

#derive(Debug,Error) #error("Found no username in {0}")

这两个缺一不可

相关推荐
鬼手点金20 分钟前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
爱上网的小舟21 分钟前
星际战士2启动错误怎么办?5种游戏报错解决方法
开发语言·php
paopaokaka_luck1 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
阿里嘎多学长1 小时前
2026-10-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Wang's Blog2 小时前
Java 项目实战: 交友项目 - Dubbo 的内部结构与一次调用的完整链路
java·dubbo
Wang's Blog2 小时前
Java 项目实战: 交友项目 - Dubbo 入门引导
java·dubbo·交友
wangchunyu1142 小时前
Python 数据可视化实战入门教程
开发语言·python·信息可视化
蜗牛互联网2 小时前
Python Agent工具调用的白名单、参数校验与审批门禁
java·服务器·前端·人工智能·后端·python
SL_staff3 小时前
当规则引擎开始‘懂业务’:JVS-Rules金融风控四大原生能力拆解
java·python·全栈
Shaoshing3 小时前
前缀和与差分
java·数据结构·算法·前缀和·差分