可能有也可能没有差异,具体取决于您对发生恐慌时发生的情况的定义(在 中定义Cargo.toml
)。根据您是否将其设置为unwind
或abort
,会发生不同的情况:
unwind
,这将(顾名思义)展开堆栈。特别是这样,可以获得完整的堆栈跟踪abort
,你只会得到最后一个被调用者process::exit()
另一方面,是一个“干净”的退出 - 你不会得到最后一个被调用者,并且你会得到一个常规的进程退出状态。
因此,您最好遵守以下规定:
exit()
. 请注意,已知错误被视为计划关闭panic!()
,因为发生这种情况时,您都可以从获得堆栈跟踪中受益,并且故障情况应该足够异常,以至于它实际上未被解释并且源于计划外场景