問題
- 以下代碼的panic爲什麼不能被捕獲?
func main(){
go test()
fmt.Println("mian結束")
}
func test(){
// defer func(){
// err := recover() //內置函數 可以捕獲到異常
// if err != nil {
// fmt.Println("err=", err)
// fmt.Println("send Email.")
// }
// }()
defer func() {
if r := recover(); r != nil {
fmt.Printf("捕獲到的錯誤:%s\n", r)
}
}()
var numArr01 [3]int = [3]int{1, 2, 3}
fmt.Println("numArr01=", numArr01)
fmt.Println("arr[3]=", 1/0)
fmt.Println("AAAAAAAAAA")
}