multithreading - 在 Rust 中,我如何转储恐慌的结果!由 join() 返回?
问题描述
我有一个 Rust 程序,其中spawn
有多个线程并存储JoinHandle
s. 当我稍后编辑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"
消息。
解决方案
推荐阅读
- css - maven 会创建 css 文件的副本吗?
- ios - 在使用主题获得响应后将数据从父 VC 传递到子 VC
- html - 行全宽中的引导跨度元素
- macos - 如何在 Safari Web Inspector 中查看导致 'safari-resource:/ErrorPage.html' (HTTP 403) 的初始 Web 请求?
- mysql - Mysql查询 - 一张表 - 一天内找到两个日期 - 来自不同列的同一实体+差异计算
- authentication - 无法使用有效凭据登录詹金斯
- windows-update - Windows 更新代理 WUA 如何识别要安装的 KB?
- python - vtkSplineRepresentation () 的 Actor
- javascript - Highcharts 在鼠标悬停时隐藏工具提示
- python - 如何从几个 numpy 数组中找到两个最接近的 numpy 数组?