recover
- 仅在 defer 调用中使用
- 获取 panic 的 值
- 如果无法处理, 可重新 panic
通常来说,不应该对panic异常做任何处理,但有时,也许我们可以从异常中恢复,至少我们可以在程序崩溃前,做一些操作。
在未发生panic时调用recover,recover会返回nil。
不加区分的恢复所有的panic异常,不是可取的做法;虽然把对panic的处理都集中在一个包下,有助于简化对复杂和不可以预料问题的处理,但作为被广泛遵守的规范,你不应该试图去恢复其他包引起的panic。
|
|
|
|
通常来说,不应该对panic异常做任何处理,但有时,也许我们可以从异常中恢复,至少我们可以在程序崩溃前,做一些操作。
在未发生panic时调用recover,recover会返回nil。
不加区分的恢复所有的panic异常,不是可取的做法;虽然把对panic的处理都集中在一个包下,有助于简化对复杂和不可以预料问题的处理,但作为被广泛遵守的规范,你不应该试图去恢复其他包引起的panic。
|
|
|
|