这是不可能的,但非常需要:
loop {
something().unwrap_or_else(|err| {
warn!("Something bad happened: {}", err);
continue;
});
// other stuff
}
Rust的解决方法是什么?
答案 0 :(得分:7)
unwrap_or_else
只是方法调用链中常用的match
的便捷方法。由于此情况并非如此,您只需使用match
,因为您似乎只对Err
案例感兴趣,您也可以使用if let
:
loop {
if let Err(err) = something() {
warn!("Something bad happened: {}", err);
continue;
}
// other stuff
}