相关疑难解决方法(0)

解开选项并在 None 时返回错误的最简单方法(无论如何)

我正在使用Anyhow并有一个返回的函数anyhow::Result。在该函数中,我想“解开”一个选项,以便如果选项值为None,则返回带有特定错误消息的错误。这就是我所做的:

let o: Option<i32> = ...;
let v: i32 = o.ok_or_else(|| anyhow!("Oh, boy!"))?;
// here I need v only
Run Code Online (Sandbox Code Playgroud)

ok_or_else()出于ok_or()性能原因,我使用了 not 。

我通常对此表示同意,但想知道这是否是做我想做的事情的最简单(最简洁)的方法(不牺牲性能)?

error-handling rust

24
推荐指数
2
解决办法
9012
查看次数

标签 统计

error-handling ×1

rust ×1