[Golang] 錯誤處理 error handling
此篇為各筆記之整理,非原創內容,資料來源可見下方連結與文後參考資料:
- Error handling and Go @ Go Blog
- package errors @ pkg.go
tl;dr
import "errors"
err := errors.New("建立錯誤訊息")
err.Error() // 取得錯誤訊息
在 golang 中 error
型態底層是 interface,這個 error 裡面有 Error()
這個 function,並且會回傳 string。
Error Interface
error
是 golang 內建的 interface,和fmt.Stringer
很類似
type error interface {
Error string()
}
顯示錯誤訊息
err.Error()
fmt.Errorf("username %s is already existed", username)
if err != nil {
c.String(http.StatusBadRequest, fmt.Sprintf("upload file err: %s", err.Error()))
}