[go] Go 언어에서의 커스텀 에러 타입
Go 언어에는 내장된 에러 인터페이스가 있으며, 사용자 정의 에러 타입을 만들어 에러 메시지를 더 효율적으로 관리할 수 있습니다.
내장된 에러 인터페이스 (Built-in Error Interface)
Go 언어의 내장된 에러 인터페이스는 error
입니다. 이 인터페이스는 다음과 같이 정의됩니다:
type error interface {
Error() string
}
이 인터페이스를 구현하면 커스텀 에러를 만들 수 있습니다.
커스텀 에러 타입 생성하기
커스텀 에러 타입을 만들려면 Error()
메서드를 구현하는 새로운 타입을 만들면 됩니다.
예를 들어, 다음과 같이 커스텀 에러 타입을 생성할 수 있습니다:
type MyError struct {
Msg string
}
func (e *MyError) Error() string {
return e.Msg
}
위의 예제에서 MyError
는 내장된 error
인터페이스를 구현하고 있습니다. 이제 MyError
타입을 사용하여 커스텀 에러를 만들 수 있습니다.
커스텀 에러 사용하기
이제 MyError
를 사용하여 예외적인 상황에 대한 세부 정보를 더 쉽게 전달할 수 있습니다.
예를 들어:
func Something() error {
if // 예외적인 조건 {
return &MyError{"예외적인 상황에 대한 세부 내용"}
}
// ...
return nil
}
위의 예에서 Something
함수는 예외적인 상황이 발생했을 때 MyError
를 반환합니다. 이렇게 하면 호출자가 상세한 정보를 포함한 에러를 받아서 처리할 수 있습니다.
커스텀 에러를 만들어서 에러 메시지를 더 효율적으로 관리하는 것은 Go 언어에서 권장되는 방법입니다.
이상으로 Go 언어에서의 커스텀 에러 타입에 대해 알아보았습니다.
더 자세한 정보는 Go 공식 문서를 참고하시기 바랍니다.