gpt4 book ai didi

error-handling - 当 String 可以立即在 stdout 中报告时,它是否是有效的错误类型?

转载 作者:行者123 更新时间:2023-11-29 07:49:30 24 4
gpt4 key购买 nike

<分区>

我最近实现了国际象棋游戏的基 native 制并使用了 Result<T, E>收集人工输入的方法的类型,因为它可能无效。但是,我不确定应该为可能的错误选择哪种类型 ( E )。

我了解到,在构建库时引入新类型被认为是一种很好的做法。但是,当 Result可以立即处理 Err在标准输出中报告,只返回 Result<T, String> 不是更简单吗? s 或 Result<T, &str> s(或 Result<T, Cow<str>> s,如果两者都可能发生)?

考虑以下情况:

pub fn play() {
let mut game = Game::new();

loop {
match game.turn() {
Ok(()) => { game.turn += 1 }
Err(e) => println!("{}", e)
}
}
}

游戏在终端中进行,任何输入错误都可以立即报告。在这种情况下引入自定义错误类型是否有任何附加值(value)?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com