Go 語言的錯誤處理機制採用了顯式錯誤檢查。當函式發生錯誤時,會返回一個 error 型別的「值」。error 是一個介面,其定義如下:
type error interface {
Error() string
}
任一型別只要符合了 Error介面規則,那麼這個型別就具備了表示錯誤的能力。Error() 函式就像是一個標準,只要符合這個標準,就可以被視為一個錯誤。
錯誤檢查: 在 Go 語言中,函式通常會返回多個值,呼叫函式後,應立即檢查返回值中的 error 是否為 nil。若不為 nil,則表示發生了錯誤。
錯誤處理: 當發生錯誤時,可以選擇記錄錯誤訊息、返回錯誤給呼叫者、停止程式執行或採取其他恢復措施。
在Golang中,錯誤通常會以error值傳回,若遇到嚴重情況時則是使用panic 和 recover。panic 函式用於觸發「恐慌」,當程式遇到嚴重錯誤時,可以呼叫 panic 來終止程式。recover 函式則用於捕獲恐慌,用在 defer 函式中,進行清理資源或一些後續處理。
下一篇預告
明天就會是這個系列最後一篇囉~