gpt4 book ai didi

error-handling - 匹配 Result 时返回错误的最简洁方法是什么?

转载 作者:行者123 更新时间:2023-12-03 08:09:14 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Is there any way of doing unwrap_or_return an Error (any error)

(1 个回答)



What is this question mark operator about?

(2 个回答)


1年前关闭。




我正在调用一个返回 Result<T, E> 的函数我想处理 Ok情况但返回 Err就像返回错误一样。最干净的方法是什么?
例如,我有:

fn example() -> Result<(), Error> {
match foo() {
Ok(v) => bar(v),
Err(e) => Err(e),
}
}
有哪些其他的写作形式?重新包装感觉很奇怪 e在另一个 Err在堆栈中的每个调用中。此外,每个调用基本上都是 4 行样板文件......我只是在寻找一种简化并使其更具可读性的方法。我的愿望是让它在错误时返回错误,否则处理结果值。

最佳答案

Rust 包含一个 'error propagation' operator, ? .如果 Result 的值它被调用是Ok它将打开并返回内部值。如果值为 Err它将从函数返回并传递 Err给来电者。

fn example() -> Result<(), Error> {
let v = foo()?;
bar(v);
}

关于error-handling - 匹配 Result<T, E> 时返回错误的最简洁方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62800654/

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