应⽤场景,如果某个goroutine panic了,⽽且这个goroutine⾥⾯没有
捕获(recover),那么整个进程就会挂掉。所以,好的习惯是每当go产
⽣⼀个goroutine,就需要写下recover
func cacl(){ defer func(){ err := recover() //如果不捕获这个错误,则程序运行时会panic if err != nil{ fmt.Println(err) } }() var p *int *p = 100 } func main(){ go cacl() time.Sleep(time.Second*4) fmt.Println("exits") }