Go에서 사용자 정의 오류 유형을 생성하려면 다음 단계가 필요합니다. 오류 유형을 기본으로 사용하여 새 유형을 생성하고 사용자 정의 필드를 추가합니다. 사용자 정의 오류 정보를 반환하려면 오류 인터페이스에서 Error() 메서드를 구현하세요. 더 자세한 오류 메시지를 반환하려면 코드에서 사용자 정의 오류 유형을 사용하십시오. 이러한 단계를 통해 사용자 정의 오류 유형을 정의하여 보다 명확한 오류 메시지를 제공하고 디버깅을 단순화할 수 있습니다.
Go에서 사용자 정의 오류 유형을 만드는 방법은 무엇입니까?
Go에서 오류 유형은 작업 중에 발생하는 오류를 나타내는 데 사용되는 특수 내장 유형입니다. 기본적으로 Go는 내장된 error
유형을 제공하지만 구조화되고 유효한 데이터 유형이 아니며 더 관련성이 높은 문맥 정보를 전달할 수 없습니다. 이 문제를 해결하기 위해 Go에서는 사용자 정의 오류 유형을 정의할 수 있습니다. error
类型,但它并不是一个结构化有效的数据类型,并且无法传递更多相关上下文信息。为了解决这个问题,Go 允许您定义自定义错误类型。
创建自定义错误类型
要创建自定义错误类型,请使用 error
类型作为基础并添加额外的字段以捕获特定错误条件:
type MyError struct { Code int Message string } // implement the error interface func (e *MyError) Error() string { return fmt.Sprintf("Code: %d, Message: %s", e.Code, e.Message) }
通过实现内置的 error
接口,MyError
类型可以被当作 error
사용자 정의 오류 유형 만들기
사용자 정의 오류 유형을 만들려면error
유형을 기본으로 사용하고 추가 필드를 추가하여 특정 오류 조건을 캡처하세요. func MyFunction() error { if valid { return nil } return &MyError{ Code: 400, Message: "Validation failed", } }내장된 오류 유형을 구현하여 error 인터페이스,
MyError
유형은 error
유형으로 처리될 수 있습니다. 사용자 정의 오류 유형 사용
사용자 정의 오류 유형을 생성한 후 코드에서 이를 사용하여 더 설명적인 오류 메시지를 반환할 수 있습니다.type JSONParseError struct { Code int Message string } func (e *JSONParseError) Error() string { return fmt.Sprintf("Code: %d, Message: %s", e.Code, e.Message) }
실제 사례
🎜🎜JSON을 구문 분석에 실패할 경우 오류 코드와 메시지가 포함된 사용자 정의 오류를 반환하려고 합니다. 다음과 같은 사용자 정의 오류 유형을 사용할 수 있습니다. 🎜func ParseJSON(data []byte) (result MyStruct, err error) { err = json.Unmarshal(data, &result) if err != nil { return result, &JSONParseError{ Code: 500, Message: "Unable to parse JSON", } } return result, nil }🎜 그러면 구문 분석 기능이 다음 오류 유형을 사용하여 보다 구체적인 오류 메시지를 반환할 수 있습니다. 🎜rrreee🎜 사용자 정의 오류 유형을 사용하면 더 많은 정보와 구조를 제공할 수 있습니다. 디버깅 및 문제 해결이 더 쉬워졌습니다. 🎜
위 내용은 Golang을 사용하여 사용자 정의 오류 유형을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!