rust - 从闭包内部使用 continue 的 Rust 方法是什么?

标签 rust

这是不可能的,但非常需要:

loop {
    something().unwrap_or_else(|err| {
        warn!("Something bad happened: {}", err);
        continue;
    });

    // other stuff
}

Rust 的解决方法是什么?

最佳答案

unwrap_or_else 只是一种围绕 match 的便捷方法,通常用于方法调用链中。由于这里不是这种情况,您可以简单地使用 match 代替,并且由于您似乎只对 Err 情况感兴趣,因此您也可以使用 如果让:

loop {
    if let Err(err) = something() {
        warn!("Something bad happened: {}", err);
        continue;
    }

    // other stuff
}

关于rust - 从闭包内部使用 continue 的 Rust 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49784874/

相关文章:

rust - Rust 和 Webassemble 的加法

rust - 如何将装箱移动到函数而不是调用方

rust - 有没有办法防止发出的 LLVM IR 删除未使用的函数?

rust - 为什么通过提取方法进行重构会触发借用检查器错误?

git - "git pull"是如何用 git2-rs Rust crate 完成的?

rust - 如何为函数实现特征

rust - 在 Rust 中引用一个包含结构(并调用它的方法)

java - 如何编译Rust代码使其功能可以通过Java调用

asynchronous - 预期为 `async` block ,发现了不同的 `async` block

rust - 如何将许多参数传递给 rust actix_web 路由