더북(TheBook)

6.2.1 errors.New() 사용

에러를 생성하는 가장 간단한 방법은 errors 패키지의 New() 함수를 사용하는 것이다. errors 패키지에 errors.New() 함수가 어떻게 작성되어 있는지 직접 확인해 보자(https://golang.org/src/errors/errors.go).

▼ errors 패키지 소스

package errors
 
func New(text string) error {
    return &errorString{text}
}
 
type errorString struct {
    s string
}
 
func (e *errorString) Error() string {
    return e.s
}

errors.New() 함수로 에러를 생성하면 errorString 구조체가 반환된다. errorString 구조체에는 string을 반환하는 Error() 메서드가 정의되어 있으므로 이 구조체를 error 타입으로 사용할 수 있다.

이처럼 에러를 의도적으로 발생시켜야 할 때는 errors 패키지의 errors.New() 함수로 적절한 에러 메시지와 함께 에러를 생성한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.