【发布时间】:2020-07-23 07:00:26
【问题描述】:
我正在尝试制作自己的自定义错误,但我不希望 Rust 自动在错误消息前添加 Error: 。我该怎么做?
代码:
use std::error::Error;
use std::fmt;
#[derive(Debug)]
enum CustomError {
Test
}
impl fmt::Display for CustomError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
CustomError::Test => write!(f, "Test")
}
}
}
fn main() -> Result<(), CustomError> {
Err(CustomError::Test)?;
Ok(())
}
预期输出(stderr):
Test
实际输出(stderr):
Error: Test
【问题讨论】:
-
在这种情况下进程将退出并显示错误代码,您可以考虑在 main 中处理错误而不是传播。
-
我不确定你的意思是什么,你能澄清一下吗?我确实通过 Result. 强制错误代码来测试该过程
-
我在想这样的事情:play.rust-lang.org/…
标签: error-handling rust main boilerplate