Menu
CoddyTech

理解 `panic`

本课属于 Coddy GO 学习旅程的“逻辑与流程”单元。第 42 课,共 68 课。

在 Go 中,panic 是一个内置函数,用于处理真正异常的情况:程序遇到无法恢复的错误,必须立即停止。与可以妥善处理的常规错误不同,panic 专用于灾难性故障,这类故障表明程序的逻辑或环境存在根本性问题。

调用 panic 时,它会立即停止当前函数的正常执行,并开始展开调用栈。这与 Go 通常通过返回错误并由调用代码处理的做法截然不同。

在符合 Go 惯用风格的代码中,很少使用 panic。Go 社区强烈倾向于通过返回值显式处理错误,而不是基于 panic 处理错误。你可能会在以下情况中遇到 panic,例如访问越界的数组、解引用 nil 指针,或者库检测到不可能出现的状态,表明存在编程 bug。

大多数 Go 程序都应该使用你一直在学习的标准错误接口,妥善处理错误。只有在程序确实没有合理的办法继续运行时,才应该考虑使用 panic。

亲手试试

这节课没有代码挑战。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Go 在线编译器