🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
panic和recover === ### Panic - 用户不可恢复的错误 - panic 推出前会执行defer指定的内容 ~~~ func division(a,b int) int { if b == 0 { panic("b = 0") } c := int(a / b) return c } func TestDivision(t *testing.T) { i := division(1, 0) fmt.Println(i) } ~~~ ### recover 用户错误恢复 ``` defer func() { if err != recover();err!=nil{ // 恢复代码 } } ``` ~~~ func division(a,b int) int { if b == 0 { panic("b = 0") } c := int(a / b) return c } func TestDivision(t *testing.T) { defer func() { if err := recover();err != nil { fmt.Println(err) } }() i := division(1, 0) fmt.Println(i) } ~~~ 注意:如果没有处理好,就会形成僵尸服务进程