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 }
5.エラーインターフェイス
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 中国語 Web サイトの他の関連記事を参照してください。