这是不可能的,但非常需要:
loop {
something().unwrap_or_else(|err| {
warn!("Something bad happened: {}", err);
continue;
});
// other stuff
}
Run Code Online (Sandbox Code Playgroud)
Rust的解决方法是什么?
unwrap_or_else只是match方法调用链中常用的便捷方法.由于这不是这种情况,你可以简单地使用一个match,因为你似乎只对Err案例感兴趣,你也可以使用if let:
loop {
if let Err(err) = something() {
warn!("Something bad happened: {}", err);
continue;
}
// other stuff
}
Run Code Online (Sandbox Code Playgroud)