ホームページ >バックエンド開発 >Golang >Go でエラー メッセージを効果的に比較するにはどうすればよいですか?

Go でエラー メッセージを効果的に比較するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-14 04:38:10469ブラウズ

How to Effectively Compare Error Messages in Go?

Go でのエラー メッセージの比較

Java では、Exception クラスの GetMessage() メソッドを使用してエラー メッセージを取得できます。ただし、Go では、エラー メッセージへのアクセス方法が異なります。

エラー メッセージを比較する方法

Go でエラー メッセージを比較するには、次の手順に従います。

  1. パッケージレベルのエラーを宣言します変数:
var errExample = errors.New("this is an example")
  1. このエラー値を返す:

エラーが発生した場合は、パッケージレベルを返しますカスタム文字列の代わりにエラー変数を使用するメッセージ:

return errExample
  1. この値と比較します:

特定のエラーを確認するには、返されたエラーをパッケージと比較できます。 -レベルエラー変数:

if err == errExample {
    // handle it
}

外部からのエラーの処理パッケージ

外部パッケージのエラーを比較する必要がある場合は、エラー変数をエクスポートできます:

var ErrExample = errors.New("this is an example")

次に、エクスポートされたエラー変数をコード内で使用します:

if err == somepackage.ErrExample {
    // handle it
}

の使用を避けるError.Error()

エラーの Error() メソッドから返された文字列との比較を避けます。これにより、エラー メッセージが予告なく変更される可能性があるため、コードが脆弱になる可能性があります。代わりに、上記で説明した推奨アプローチを使用してください。

以上がGo でエラー メッセージを効果的に比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。