是否有一个宏可以将错误转换为恐慌,类似于try
宏?我需要定义我自己的吗?
例如,如果单元测试无法打开文件,我会感到恐慌。我目前的解决方法是这样的:
macro_rules! tryfail {
($expr:expr) => (match $expr {
result::Result::Ok(val) => val,
result::Result::Err(_) => panic!(stringify!($expr))
})
}
#[test]
fn foo() {
let c = tryfail!(File::open(...));
}