Golang, 그대들은 어떻게 할 것인가

클로바노트 서버를 개발하고 있는 2년차 개발자 김준하님의 이야기입니다.


Golang으로 서버를 개발하면서 Error 핸들링에 대한 고민을 겪었다고 합니다.

Golang에는 try/catch 대신 'Don't panic' 원칙이 있어 Error를 반환하고 상위 함수에서 처리하는 방식입니다. Error 자체도 값으로 취급되어 변수에 할당하고 조작할 수 있죠.


기존 클로바노트 V1 코드에서는 서버별로 Error 핸들링 방식이 달랐고, Error 로깅 레벨도 모호한 경우가 많았다고 합니다. Error를 어디까지 올려야 하는지, 하위 레이어의 Error를 상위에서 어떻게 알 수 있을지 개선이 필요했습니다.


그래서 V2 개발에서 다음 3가지에 집중했다고 합니다.

  1. Error를 어떻게 만들어냈는가?

  2. Error를 어떻게 추적 가능하도록 올려보냈는가?

  3. Error 핸들링을 어떻게 했는가?


Golang의 Error 핸들링은 만만치 않지만, 팀 내부에서 일관된 컨벤션을 정립하여 문제를 해결해나가고 있다네요. 구체적인 해결 방안은 다음 글에서 공유해주신다고 합니다.


저도 Golang으로 개발해본적이 있는데, error처리를 어디까지 해야할지가 고민이 되는 경우가 많더라구요. Golang시리즈를 관심있게 보고 있어야겠습니다.


https://d2.naver.com/helloworld/8588537

NAVER D2

d2.naver.com

NAVER D2

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 3월 28일 오전 7:40

 • 

저장 12조회 2,386

댓글 0

    함께 읽은 게시물

    약점 극복

    

    ... 더 보기

    액터모델과 오버엔지니어링

    ... 더 보기

    WEBNORI

    wiki.webnori.com

    WEBNORI


    타입 안전한 API 모킹으로 프론트엔드 생산성 높이기

    이번에 우아한형제들 기술 블로그에 "타입 안전한 API 모킹으로 프론트엔드 생산성 높이기"라는 새 글을 발행하게 되었습니다.

    ... 더 보기

    이번 구글 I/O, 구글 여러분들 행사전에 입이 근질근질하셨겠네요. ㅎㅎ


    내용은 다들 소개하셨으니 한줄평하자면, 구글이 처음으로 OpenAI에 비해 반발짝정도 앞서나간 이벤트인 것 같습니다.


    더불어 출시한 모델과 서비스들을 보니.. 역시 AI는 돈빨이며 구글이 돈빨을 제대로 세웠.. 쿨럭..


    🎯 유튜브에 100번째 코딩 테스트 문제 풀이 영상을 올렸습니다!

    ... 더 보기

    달레의 코딩 테스트

    www.youtube.com

    달레의 코딩 테스트

     • 

    댓글 1 • 저장 27 • 조회 3,907