Golang はシンプルで効率的なプログラミング言語であり、強力な型システムと豊富なライブラリを備えており、開発者に大きな利便性を提供します。エラー処理は Go 言語において非常に重要なタスクです。プログラムの実行中にエラーが発生した場合、エラーを迅速かつ正確に見つけて対処できる必要があります。この目標を達成するには、エラーの種類を特定する方法を知る必要があります。一緒に調べてみましょう。
エラー タイプは、Golang のエラー オブジェクトのタイプを指します。 Go 言語では、エラー タイプは、現在のエラー情報を表す文字列を返す「Error()」という名前のメソッドを定義するインターフェイス タイプです。 Golang コードでは、通常、エラー パッケージの New() 関数を使用して新しいエラー オブジェクトを作成します。コード例は次のとおりです。
import "errors" err := errors.New("this is an error")
type MyError struct { message string } func (e *MyError) Error() string { return e.message } func doSomething() error { return &MyError{message: "This is a custom error"} } func main() { err := doSomething() if e, ok := err.(*MyError); ok { // 错误类型是 MyError fmt.Println(e.message) } else if err != nil { // 其他类型的错误 fmt.Println("error:", err) } else { // 没有发生错误 fmt.Println("no error") } }
エラーの種類の処理方法
if errors.Is(err, io.EOF) { // 错误类型是 io.EOF } var target *MyError if errors.As(err, &target) { // 错误类型是 *MyError }上記のコードでは、 someFunc() 関数がエラーを返した場合、 fmt.Errorf() 関数を使用してエラー情報を出力し、呼び出し元に返します。 3.2 エラーを直接返すエラーが重大な場合は、エラーを直接返し、上位の呼び出し元にエラーを処理させることができます。たとえば、次のようになります。上記のコードでは、 someFunc() 関数がエラーを返した場合、エラーを直接返し、上位レベルの呼び出し元にエラーの種類を判断させて処理させます。 3.3 標準ライブラリの処理メソッドを参照してくださいいくつかの一般的なエラーの種類については、標準ライブラリが参照用にいくつかの処理メソッドを提供しています。たとえば、ファイルを開くのに失敗すると、標準ライブラリは os.PathError タイプのエラーを返します。このとき、標準ライブラリのアプローチを参照してそれを処理できます。まずファイルを開こうとします。開くのに失敗した場合は、os.IsNotExist() 関数と os.IsPermission() 関数を使用してエラーの種類を判断し、さまざまなエラー情報を返します。
概要
Golang では、エラー処理は非常に重要なタスクです。プログラムでエラーが発生した場合、迅速かつ正確にエラーを見つけて対処できる必要があります。この記事の導入を通じて、エラーの種類を判断する方法を学び、一般的なエラー処理方法を習得しました。同時に、型アサーション中に変換が成功したかどうかを判断する必要性など、いくつかの細かい点にも気づきました。この記事が、Golang でエラーを処理する際の皆様のお役に立てれば幸いです。以上がgolang はエラーの種類を決定しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。