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 サイトの他の関連記事を参照してください。