rap*_*2-h 5 iron rust
我想panic!在Rust中停止一切,但如果我panic!在Iron路由处理函数中它不会停止整个服务器.相反,它只显示恐慌信息.
panic!
这是"正常"行为panic!吗?
我没有发布我的实际代码,因为我不认为它在这里有用,但我可以根据需要添加它.
Luk*_*odt 5
我想panic!停止Rust的一切.
不完全:panic!只停止当前线程,单线程程序停止整个程序.如果您生成另一个线程,则父线程可以检测子线程是否在加入时发生了恐慌.
Iron使用许多线程并行处理多个请求.显然它只是忽略了子线程中的恐慌......
¹作为DK.弗拉基米尔·马特维耶夫在评论中提到,并不是那么简单.当恐慌被"抛出"时会发生多种事情.默认情况下,应用程序开始展开(向下爬行)直到堆栈的"结束"或a catch_unwind到达.在前一种情况下,线程被杀死; 在后者中,由用户决定发生了什么.也可以配置您abort调用的构建panic!.
catch_unwind
abort
归档时间:
9 年,7 月 前
查看次数:
186 次
最近记录: