Skip to main content

error


Error

  • nil 또는 error interface를 구현한 struct를 반환합니다.
  • 마지막 인자로 반환합니다.
  • 고유명사, 함수명 등 대문자를 포함하는 경우를 제외하고 소문자로 작성합니다.
  • 구두점을 사용하지 않습니다.
info

github.com/pkg/errorserrors의 기능을 포함합니다. https://go.googlesource.com/proposal/+/master/design/go2draft-error-inspection.md 으로 인해 유지 보수만 한다고 합니다.

Sentinel Error

import (
"errors"
)

var (
ErrTestA = errors.New("test A")
ErrTestB = errors.New("test B")
)

더 이상 처리가 불가능하고, 오류를 설명하는 컨텍스트가 필요 없는 특정 상태가 됐을 때, 센티널 오류를 사용할 수 있습니다. 하지만 센티널 오류는 의존성 문제를 야기하기 때문에 사용에 신중해야합니다.

Custom type Error

Error 검사

errors.Is() errors.As()