忽略没有返回值的语句的错误的正确方法是什么?

STF_ZBR

如果您有一行代码可能会失败而不会对程序产生重大影响,那么忽略它的正确方法是什么?

我可以简单地排除.expect("")但是,我相信如果它失败会导致崩溃,对吗?

我可以unwrap_or_default()在实现的地方使用

我明明可以用a match, orif let语句,但是没有代码可以作为后续运行,所以这些感觉不对。

是否有适当或惯用的方法来处理这些情况?

阿洛索

如果您不关心结果,请将其分配给_

fn foo() -> Result<i32, String> {
    Err(String::from("This is an error"))
}

fn main() {
    let _ = foo();
}

如果您确实关心结果,则可以使用if let

fn main() {
    if let Ok(x) = foo() {
        dbg!(x);
    }
}

或者,您可以在结果上使用.and_then().map()

fn main() {
    let _ = foo().map(|x| dbg!(x));
}

缺点是它使用了一个闭包,所以你不能从那里的外部函数返回。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

用带有参数的函数的返回值编写if语句的正确方法是什么?

使线程返回值的正确方法是什么?

在Perl中运行此命令的正确方法是什么,没有错误返回

在Eclipse Debug透视图中,“没有方法返回值”是什么意思?

在函数结束(例如,检查失败)之前,在python中退出函数(没有返回值)的最佳方法是什么?

从Android中的Firebase Cloud Functions onCall方法获取返回值的正确方法是什么?

没有副作用的函数返回值不应忽略

为什么没有return语句的main函数返回值12?

当未指定return语句时,为什么C ++没有默认构造返回值?

为循环中多次调用的函数返回值预分配内存的正确方法是什么?

TypeScript:函数返回值不正确没有错误

PowerShell:函数没有正确的返回值

限制返回值数量的SQL标准方法是什么?

从模型中获取返回值的方法是什么?

当一个方法没有返回语句时,我如何打印出它的返回值?

为什么没有必要将方法的返回值分配给变量?

没有弧中返回值的 init** 方法会发生什么?

C#使用异步方法GetStringAsync访问URI为什么没有返回值?

为什么finger没有非零的返回值?

为什么没有从函数返回值?

为什么qsort()没有返回值?

为什么没有返回值而是给出 null

为什么这个函数没有返回值?

找出sql语句返回true或false的正确方法是什么?

python if语句返回值错误

Java中没有返回值的方法的集成测试

返回值优化的魔力是什么?

python ndarray返回值是什么

memset()返回值的用途是什么?