我必须在Rust中使用整个匹配块来打印错误吗?[duplicate]

e3bfsja2  于 2023-02-12  发布在  其他
关注(0)|答案(1)|浏览(107)
    • 此问题在此处已有答案**:

Conditionally call closure in case of error in result chain(2个答案)
昨天关门了。
在函数末尾使用?是Rust中的一个常见习惯用法。使用这个习惯用法可以抽象出结果和错误。那么我是否必须使用整个match块来访问Result呢?

yqyhoc1h

yqyhoc1h1#

如果你想在同一个函数中处理错误(比如打印/记录错误),首先你不应该使用?--那样你会得到一个Result,然后你可以使用matchif let Err(e)或者类似的东西,以便能够打印错误。
注意,在许多实际情况下,错误会记录在更中心的地方,所以你不需要总是打印错误。这可以使代码更简洁。你可以看看this,因为它与记录错误的问题有点相关(这似乎是你的情况)。

相关问题