有時候程式的錯誤是在預料之內的,防範也防範不了,但總不能因為一個錯誤就讓整支程式停下來吧?因此就需要Error Handling。如果有學過其他程式語言可能會覺得用法跟try-cache有點不同。
其實滿簡單的,只要知道所使用的function有回傳error就可以使用,通常在使用手冊上會看到,以HTTP GET來說:
官方使用手冊就有回傳err的參數,意思就是錯誤內容會傳到err內
那就HTTP GET來舉例,如果有Get到東西的話就會存到resp,沒有的話就會把錯誤訊息存到err
resp, err := http.Get("http://ithelp.ithome.com.tw/")
if err != nil {
fmt.Println(err)
}
錯誤內容err是可以直接Print出來的
Fatalln()
這個function就是兩行code的組合,這個function是包在"log"中的。
要先import package
import "log"
其實就是執行這兩行,Print出錯誤內容後結束程式
fmt.Println(err)
os.Exit(1)