Zhishi 发表于 2017-12-31 12:49
Tags:panic
出了panic一般是直接让程序挂掉吧,这样的话还有必要做到类似于异常安全那样的panic安全吗?
当然需要。
Rust里panic就相当于异常,如果没有panic安全,那么在发生异常的时候,有可能导致内存不安全的情况发生,和Rust的设计目标不符。
safe的Rust是panic安全的,unsafe的需要自己保证,但因为Rust的设计,也没那么容易引发内存不安全的问题,只是有风险。
panic 的处理都是看业务场景的,如果线程 panic 不影响其他的东西,不处理也没问题,当然主线程 panic 就直接退出了,这个和其他程序没什么不同
评论区
写评论当然需要。
Rust里panic就相当于异常,如果没有panic安全,那么在发生异常的时候,有可能导致内存不安全的情况发生,和Rust的设计目标不符。
safe的Rust是panic安全的,unsafe的需要自己保证,但因为Rust的设计,也没那么容易引发内存不安全的问题,只是有风险。
panic 的处理都是看业务场景的,如果线程 panic 不影响其他的东西,不处理也没问题,当然主线程 panic 就直接退出了,这个和其他程序没什么不同