golang 拦截恐慌
时间: 2023-07-26 09:29:36 浏览: 184
数据库/ SQL的拦截器-Golang开发
在 Go 语言中,可以使用 `recover()` 函数来拦截恐慌。`recover()` 函数只能在 defer 函数中使用,用于捕获 panic,并返回 panic 的值。如果没有 panic,`recover()` 函数返回 nil。
下面是一个简单的示例:
```
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered from panic:", r)
}
}()
// 代码可能会引发 panic
}
```
在上面的代码中,我们使用了 defer 函数来定义一个匿名函数,该函数包含了 `recover()` 函数。当代码引发 panic 时,该匿名函数会被执行并捕获 panic,打印出 panic 的值。如果代码没有引发 panic,则该匿名函数不会被执行,`recover()` 函数返回 nil。
阅读全文