如果您完全知道原因,则应该只从恐慌中恢复过来。在两种情况下,Go程序会惊慌:
- 程序逻辑错误(例如nil指针取消引用或越界数组或切片访问)
panic(...)
代码或代码调用中的故意恐慌(称为使用)
在第一种情况下,崩溃是适当的,因为这意味着您的程序已进入错误状态并且不应继续执行。在第二种情况下,仅应在惊慌中恢复。解释这一点的最好方法就是说它非常罕见,如果您看到它,您就会知道。我几乎肯定地说,无论您编写什么代码,都无需从恐慌中恢复过来。

如果您完全知道原因,则应该只从恐慌中恢复过来。在两种情况下,Go程序会惊慌:
panic(...)代码或代码调用中的故意恐慌(称为使用)
在第一种情况下,崩溃是适当的,因为这意味着您的程序已进入错误状态并且不应继续执行。在第二种情况下,仅应在惊慌中恢复。解释这一点的最好方法就是说它非常罕见,如果您看到它,您就会知道。我几乎肯定地说,无论您编写什么代码,都无需从恐慌中恢复过来。