Go 中的標準錯誤處理程序
Go有幾種慣用的錯誤處理方法:
1.修正了錯誤變數
var ( ErrSomethingBad = errors.New("some string") ErrKindFoo = errors.New("foo happened") )
2.錯誤類型
type SomeError struct { ExtraInfo int } func (e SomeError) Error() string { /* … */ }
3.特別錯誤
func SomepackageFunction() error { return errors.New("not implemented") }
4.標準函式庫錯誤
func SomeFunc() error { return io.EOF }
type Error interface { error Timeout() bool Temporary() bool }
6.換行錯誤 (Go 1.13 )
func SomepackageFunction() error { err := somethingThatCanFail() if err != nil { return fmt.Errorf("some context: %w", err) } }
選擇正確的方法
首選方法是:
優點:
包裝錯誤: 提供上下文而不建立自訂錯誤類型。
以上是Go 中處理錯誤的最佳實踐是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!