[go語言基礎]panic爲什麼不能被捕獲[未解決]

問題

  • 以下代碼的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")
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章