假设我有一个具有Result<Option<T>>
结果的函数。
如果Result
为Err
或Option
为None
,我想返回MyError
错误。
您的建议是什么?
fn my_fun() -> Result<Thing, MyError> {
match other_fun() {
Ok(Some(thing)) => Ok(thing),
_ => Err(MyError{}),
}
}
如果您的错误实现了From<TheOtherError>
,在这里可能是个好主意,您也可以这样做
fn my_fun() -> Result<Thing, MyError> {
other_fun()?.ok_or(MyError{})
}