< 返回版块

Easonzero 发表于 2022-01-05 11:47

看到一些文章建议尽可能避免unwrap以提升程序的健壮性. 但事实上往往有两种错误, 一种是需要程序处理的, 一种是需要人类阅读的, 前者理应避免unwrap, 而后者似乎需要其他的方法论. 想问问各位, 对于后者是否有一些关于最佳实践的建议?

评论区

写评论
c5soft 2022-01-05 14:47

可以先看看Rust官方的教科书,对于如何应对错误处理写的明白。 Rust 程序设计语言 国内地址

作者 Easonzero 2022-01-05 14:45

感谢大佬的建议!我去拜读下这些文章

--
👇
苦瓜小仔: 错误处理如果存在最佳实践,那么被应用的最多的实践可能来自于 Burntsushi: Error Handling in Rust (2015) 这篇文章。

但是,在 2020 年,Rust 官方发布一则 What the Error Handling Project Group is Working On 公告,提到 Error Handling Project Group

这说明啥?

最懂 Rust 的大佬、Rust 经验最丰富的大佬都还在集思广益中,而且很难对错误处理的实践优劣盖棺定论,你还觉得有最佳实践吗?

所以,重要的不是谈论哪种处理错误的方式最佳,而是把最常见的处理错误的方式弄清楚,然后应用起来,用枚举、结构体、trait 分类和组织起错误【1】,就是 Rust 风格的错误处理。

毕竟错误处理不是理论导向型,而是实践导向型。

【1】: 别误会,不是每种场景下的错误都叫你这样组织

苦瓜小仔 2022-01-05 13:54

错误处理如果存在最佳实践,那么被应用的最多的实践可能来自于 Burntsushi: Error Handling in Rust (2015) 这篇文章。

但是,在 2020 年,Rust 官方发布一则 What the Error Handling Project Group is Working On 公告,提到 Error Handling Project Group

这说明啥?

最懂 Rust 的大佬、Rust 经验最丰富的大佬都还在集思广益中,而且很难对错误处理的实践优劣盖棺定论,你还觉得有最佳实践吗?

所以,重要的不是谈论哪种处理错误的方式最佳,而是把最常见的处理错误的方式弄清楚,然后应用起来,用枚举、结构体、trait 分类和组织起错误【1】,就是 Rust 风格的错误处理。

毕竟错误处理不是理论导向型,而是实践导向型。

【1】: 别误会,不是每种场景下的错误都叫你这样组织

1 共 3 条评论, 1 页