ホームページ > バックエンド開発 > Golang > Go でカスタム エラー タイプを安全に確認するにはどうすればよいですか?

Go でカスタム エラー タイプを安全に確認するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-19 14:15:10
オリジナル
591 人が閲覧しました

How Can I Safely Check for a Custom Error Type in Go?

Go でのカスタム エラー タイプの確認

Go では、カスタム エラー タイプを定義するときに、その特定のタイプを決定する必要がある場合があります。エラーの処理。ただし、エラーをカスタム エラー タイプと直接比較しようとすると、「type model.ModelMissingError は式ではありません」のようなエラーが発生する可能性があります。

カスタム エラー タイプを確認するには、 Go のエラーに関するブログ投稿では、カンマ ok イディオムの使用を推奨しています:

serr, ok := err.(*model.ModelMissingError)
ログイン後にコピー

このイディオムは、エラー値 err を特定の型へのポインター (この場合は model.ModelMissingError)。アサーションが成功すると、serr にはエラーの基礎となる具体的な値が含まれ、ok は true になります。それ以外の場合、serr は nil になり、ok は false になります。

カンマ ok イディオムを使用すると、エラーが特定のカスタム タイプであるかどうかを安全に確認し、パニックを引き起こすことなく適切なアクションを実行できます。

if ok {
    // Handle the error as a ModelMissingError
} else {
    // Handle the error as a different type
}
ログイン後にコピー

このイディオムは、複数の異なるエラーを表すことができる共通のエラー インターフェイスがある場合に特に便利で、調整されたエラーの特定のエラー タイプを区別できるようになります。取り扱い。

以上がGo でカスタム エラー タイプを安全に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート