Go的異常處理

使用defer, panic, recover捕獲異常

package main
 
import "fmt"
 
func main(){
    defer func(){  //defer的作用就是在此函數運行完畢之後執行(無論是否正常運行)並且這個defer必須寫在f()的前面,有興趣知道爲什麼的可以留言
        fmt.Println("a")
        if err:=recover();err!=nil{
            fmt.Println(err)
        }
        fmt.Println("b")
    }()
    f()
}
 
func f(){
    fmt.Println("1")
    panic(2)
    fmt.Println("3")
    fmt.Println("4")
}

輸出結果:

1
a
2
b
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章