You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rust是否存在仅输出消息、无法被处理的内置错误类型?

推荐的Rust内置简易错误类型

Rust标准库里有刚好匹配你需求的方案,直接用String就行——从Rust 1.26开始,String自动实现了Error trait,完全满足“仅输出消息、无需额外处理逻辑”的要求,不用自定义任何错误类型。

把你的代码改成这样就能用:

use std::error::Error;

fn some_operation() -> Result<i32, impl Error> {
    let value: Option<i32> = /* 可能出错的操作(无Bug时正常执行) */;
    value.ok_or_else(|| "Something just happened that probably shouldn't have".to_string())
}

String作为错误时,它的Display和Debug输出就是字符串本身,完美适配日志打印的需求。上层代码捕获到这个错误后,只需要记录日志,就能中断当前任务但不终止整个进程,完全符合你对“静默panic”的定位。

如果你需要更抽象的错误类型,也可以用Box<dyn Error>作为返回值,但String已经足够轻量且直观,是更贴合你需求的选择。

内容的提问来源于stack exchange,提问作者A.Z.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:52:02