在 Rust 中,new() 方法通常用作构造函数,其错误处理需遵循 显式错误传递 原则(而非抛出异常)。以下是 3 种主要方案及示例:
方案 1:返回 Result<T, E>(推荐)
通过 Result 封装成功值或错误,调用方需用 ? 或 match 处理。
use std::error::Error;
use std::fmt;
#[derive(Debug)]
struct User {
id: u32,
email: String,
}
#[derive(Debug)]
struct ValidationError(String);
impl fmt::Display for ValidationError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "Inval

最低0.47元/天 解锁文章
82

被折叠的 条评论
为什么被折叠?



