- 此问题在此处已有答案**:
Conditionally call closure in case of error in result chain(2个答案)
昨天关门了。
在函数末尾使用?
是Rust中的一个常见习惯用法。使用这个习惯用法可以抽象出结果和错误。那么我是否必须使用整个match
块来访问Result
呢?
Conditionally call closure in case of error in result chain(2个答案)
昨天关门了。
在函数末尾使用?
是Rust中的一个常见习惯用法。使用这个习惯用法可以抽象出结果和错误。那么我是否必须使用整个match
块来访问Result
呢?
1条答案
按热度按时间yqyhoc1h1#
如果你想在同一个函数中处理错误(比如打印/记录错误),首先你不应该使用
?
--那样你会得到一个Result
,然后你可以使用match
,if let Err(e)
或者类似的东西,以便能够打印错误。注意,在许多实际情况下,错误会记录在更中心的地方,所以你不需要总是打印错误。这可以使代码更简洁。你可以看看this,因为它与记录错误的问题有点相关(这似乎是你的情况)。