💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
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) } ~~~ 注意:如果没有处理好,就会形成僵尸服务进程