반응형
Golang Convention : Error wrapping vs Opaque error
백엔드/Golang2024. 11. 17. 21:41Golang Convention : Error wrapping vs Opaque error

Golang Convention에서 Error Wrapping과 Opaque Error처리가 서로 충돌이 있는것 같아어떻게 정리를 해야할지를 추가로 정리해봅니다. 1. Opaque Error (불투명한 오류)"Opaque Error"는 오류 발생 지점에 대한 구체적인 정보가 부족하고, 오직 메시지 문자열만으로 전달되는 형태의 오류를 의미합니다. 이는 오류의 원인을 파악하기 어렵게 하며, 코드 디버깅을 어렵게 만드는 주요 원인입니다. 이 관점에서 살펴보면, 원래 예시 코드에서 문제가 되는 부분은 오류의 맥락이 포함되지 않아서, 오류가 어디에서 발생했는지를 쉽게 알 수 없다는 것입니다.func AuthenticateRequest(r *Request) error { err := authenticate(r..

Golang Convention 중 논의를 해야 할 사항 정리
백엔드/Golang2024. 11. 10. 12:08Golang Convention 중 논의를 해야 할 사항 정리

1. 에러 핸들링Error는 체크하지 않고 gracefully handle한다.Golang에서는 아래와 같이 작성 하는게 자연스러워 보이지만 사실은 불필요합니다.Badfunc AuthenticateRequest(r *Request) error { err := authenticate(r.User) if err != nil { return err } return nil}Goodreturn authenticate(r.User) 오류에 주석을 달아라 (Annotating Errors)github.com/pkg/errors 패키지는 과거에 널리 사용되었지만, Go 1.13부터는 Go 표준 라이브러리에 errors 패키지에 기본적으로 오류..

반응형
image