Go 语言的 panic 和 recover 是两种用于处理异常的机制。
它们允许在程序运行过程中进行错误处理,特别是处理那些不可恢复的错误和恢复程序的执行。
panic 和 recover 并不像其他语言中的 try-catch 机制那样常见,而是提供了控制程序流程的一种方法。
- panic 机制
panic 用于表示程序遇到了一个不可恢复的错误,或者程序处于一个不应继续执行的状态。它会触发运行时的异常,并停止当前函数的执行,直到调用 recover 或程序退出。
1.1 panic 的使用
当你遇到一个严重的错误或不合法的操作时,可以调用 panic 来终止当前函数的执行,并开始触发一系列的 defer 函数。
panic 会导致当前函数的执行停止,并且会递归地向上层函数传播,直到程序结束或者有 recover 恢复它。
使用 panic 终止程序
func divide(a, b int) int {
if b == 0 {
panic("division by zero") // 如果除数为零,抛出 panic
}
return a / b
}
func main() {
fmt.Println("Starting program")
// 这里会触发 panic
result := divide(10, 0)
fmt.Println("Result:", result) // 这行代码不会执行
}
当 b == 0 时,panic 被触发,程序会停止当前函数的执行,并开始递归传播。
panic 的错误信息是 "division by zero",这将显示在控制台。
调用

最低0.47元/天 解锁文章
1305

被折叠的 条评论
为什么被折叠?



