gpt4 book ai didi

rust - panic !不会停止 Iron 服务器

转载 作者:行者123 更新时间:2023-11-29 07:50:13 24 4
gpt4 key购买 nike

我以为 panic! 会停止 Rust 中的所有内容,但如果我在 Iron 路由处理程序函数中 panic! 它不会停止整个服务器。相反,它只显示 panic 消息。

这是 panic! 的“正常”行为吗?

我没有发布我的实际代码,因为我认为它在这里没有用,但如果需要我可以添加它。

最佳答案

I thought panic! stops everything in Rust.

不完全是:panic! 仅停止¹ 当前 线程,对于单线程程序,它会停止整个程序。如果您生成另一个线程,父线程可以检测子线程是否崩溃 on joining .

Iron 使用许多线程来并行处理多个请求。显然它只是忽略了子线程中的 panic ......


¹ 作为 DK。和 Vladimir Matveev 在评论中提到的,这并不那么简单。当 panic 被“抛出”时,可能会发生多种情况。默认情况下,应用程序开始展开(沿着堆栈向下爬)直到堆栈的“末端”或到达 catch_unwind。在前一种情况下,线程被杀死;在后者中,由用户决定会发生什么。也是possible to configure您的构建使得 abortpanic! 时被调用。

关于rust - panic !不会停止 Iron 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38391415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com