首页 > 解决方案 > 在 Rust 中,我如何转储恐慌的结果!由 join() 返回?

问题描述

我有一个 Rust 程序,其中spawn有多个线程并存储JoinHandles. 当我稍后编辑join的线程时panic!,我不确定如何检索传递给的消息panic!

如果我运行以下程序

fn main() {
    let handle = std::thread::spawn(||panic!(format!("demo {}",1)));
    match handle.join() {
        Ok(_) => println!("OK"),
        Err(b) => println!("Err {:?}", b.downcast_ref::<&'static str>())
    }
}

锈迹斑斑的游乐场) 它打印出来Err None。我想访问该"demo"消息。

标签: multithreadingrust

解决方案


推荐阅读