异常处理
使用defer+recover捕获panic处理
实例:
defer func() { if err := recover(); err != nil { println("错误:", err) }}()例子: 使用go开启协程异常处理, 如果某条协程出现问题时不影响主线程运行
package main
import ( "fmt" "time")
func main() { go testErr() go fn1()
time.Sleep(time.Second * 4)}
func testErr() { defer func() { if err := recover(); err != nil { println("错误: ", err) } }() panic("err")}
func fn1() { for i := 0; i < 5; i++ { fmt.Println(i) }}