Golang エラーをカスタマイズする方法は、カスタム エラー タイプを作成し、error.Error インターフェイスを実装することです。実際の場合は、カスタム エラー ハンドラーを使用してエラー情報をより具体的に指定し、デバッグと処理を容易にします。
Golang でエラーをカスタム処理するにはどうすればよいですか?
Golang には組み込みのエラー処理メカニズムが用意されていますが、場合によってはエラー処理のカスタマイズが必要になる場合があります。このチュートリアルでは、カスタム エラー ハンドラーを作成し、実際のユースケースに適用する方法を説明します。
カスタム エラー ハンドラー
カスタム エラー ハンドラーを作成するには、error.Error
インターフェイスを使用します。このインターフェイスは、文字列タイプのエラーの説明をパラメータとして受け入れます。 error.Error
接口。此接口接受一个字符串类型的错误描述作为参数。
package myerrors import "fmt" type MyError struct { errorString string } func (e *MyError) Error() string { return e.errorString } func NewMyError(errorString string) error { return &MyError{errorString: errorString} }
NewMyError
函数返回一个实现 error
接口的 MyError
类型。Error
方法返回错误描述字符串。
实战案例:验证用户输入
假设我们有一个函数 ValidateUserInput
,它验证用户输入,如果输入无效,则返回错误。
package main import ( "fmt" "log" "myerrors" ) func ValidateUserInput(input string) error { if input == "" { return myerrors.NewMyError("输入为空") } if len(input) < 5 { return myerrors.NewMyError("输入长度太短") } return nil } func main() { input := "Golang" err := ValidateUserInput(input) if err != nil { log.Fatalf("输入验证失败: %v", err) } fmt.Println("输入已验证成功") }
在 ValidateUserInput
函数中,我们使用 NewMyError
函数创建自定义错误。然后,我们在 main
rrreee
NewMyError
関数は、error
インターフェイスを実装する MyError
タイプを返します。 Error
メソッドは、エラー説明文字列を返します。 🎜実際のケース: ユーザー入力の検証🎜🎜🎜ユーザー入力を検証し、入力が無効な場合はエラーを返す関数 ValidateUserInput
があるとします。 🎜rrreee🎜 ValidateUserInput
関数では、NewMyError
関数を使用してカスタム エラーを作成します。次に、main
関数のエラーをチェックし、適切なエラー メッセージを出力します。 🎜🎜カスタム エラー ハンドラーを使用すると、エラー情報をより具体的に指定できるため、デバッグと処理が容易になります。 🎜以上がGolang でエラーをカスタム処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。