Go 言語 は、Java や C# 言語のような try...catch 例外処理メソッドを提供せず、代わりに関数の戻り値を通じて層ごとに例外処理メソッドをスローします。
Go 標準パッケージが提供するエラー処理関数:
error はインターフェイスです:
type error interface { Error() string }
エラーの作成方法:
// example 1 func Sqrt(f float64) (float64, error) { if f < 0 { return 0, errors.New("math: square root of negative number") } // implementation } // example 2 if f < 0 { return 0, fmt.Errorf("math: square root of negative number %g", f) }
カスタマイズ方法error:
// errorString is a trivial implementation of error. type errorString struct { s string } func (e *errorString) Error() string { return e.s }
Go 言語には通常 3 つのエラー処理戦略があります:
1. エラー値を返して確認します: 成功とさまざまなエラーは特定の値で表され、上位層はコードはエラー値をチェックして、何が呼び出されているかを判断します。 func
2 の実行ステータス。カスタム エラー タイプ: 特定のエラーはカスタム エラー タイプで表され、上位レベルのコードはタイプを通じてエラー タイプを決定します。アサーション
3. 内部詳細の非表示エラー処理: 上位層のコードは、呼び出された関数によって返されたエラーの詳細を知らず、エラーを直接返すと仮定します。インターフェイスの Error メソッドは人間が見るためのものであり、マシンが見るためのものではありません。通常、Error メソッドによって返された文字列をログに出力するか、コンソールに表示します。 Error メソッドによって返された文字列に特定の文字列が含まれているかどうかを判断して、エラーの処理方法を決定しないでください。
golang についてさらに詳しく知りたい場合は、
golang チュートリアル以上がGolangのエラースローメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。