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 중국어 웹사이트의 기타 관련 기사를 참조하세요!