Go 错误处理
目录
注意
本文最后更新于 2024-05-18,文中内容可能已过时。
panic,recover
在 Go 语言中,panic 和 recover 是用于处理程序错误和恢复的两个关键机制。
panic:
panic 是一个内建函数,用于表示程序发生了无法处理的错误。当发生 panic 时,程序会立即停止执行当前函数的剩余代码,并开始在调用栈中向上逐层执行 deferred 函数,直到达到当前协程的最顶层(即程序的入口函数),然后程序将终止并输出 panic 信息。 panic 通常用于表示不可恢复的错误,比如空指针引用、数组越界等,或者是程序运行过程中的一些不合法操作。 recover:
recover 也是一个内建函数,用于在 defer 延迟执行的函数中捕获 panic 引起的错误,使程序能够继续执行而不会被终止。 recover 只能在 defer 中调用,并且只在发生 panic 时才会生效。如果在没有 panic 的情况下调用 recover,它将返回 nil。 当 recover 在 defer 中调用时,如果有 panic 发生,它将会返回被传递给 panic 的值,并且程序将继续执行而不会终止。
|
|