go-异常和错误相关
panic 异常和主动触发 panic
- panic异常表示程序运行时出现错误
- panic用于主动抛出错误
- 程序启动时发现关键配置缺失、开发阶段快速暴露严重错误都可以主动抛出错误
| 类型 | 触发者 | 示例 |
|---|---|---|
| 运行时 panic | Go 运行时 | nil map 写入、数组越界 |
| 主动 panic | 开发者 | panic("配置错误") |
package main
import "fmt"
func main() {
fmt.Println("开始")
panic("程序发生异常")
fmt.Println("结束")
}
使用 recover 捕获 panic
recover()通常必须配合defer使用