두 Exception이 반환 되었을 때 어느 부분이 더욱 파악이 쉬울까?

{
  "message": "BaseException",
  "errorCode": "G03003",
  "statusCode": 400
}
{
  "message": "BaseException",
  "errorCode": "DuplicatedEventHandle",
  "statusCode": 400
}

대부분은 2번이 파악이 쉽다고 생각 할 것 같다. (1번이라면 유감이다.)

그렇다면 파악이 쉬우니까 좋은 방법일까?

반은 맞고 반은 틀렸다 생각한다.

만약 내가 프론트 개발자라면 1번과 같은 Exception이 넘어왔을 때“ 그래서 이게 무슨 오륜데?” 라고 생각 할 것 같다.

하지만 우리는 누구인가 Backe-End다. 백엔드는 가능한 모든 상황에 대비해야 한다.(개인적인 생각)

우리 서버가 얌전히 오직 Client 하고만 통신한다고 장담 할 수 있을까?

나쁜 세력이 우리의 비즈니스 로직을 파악 할 수도 있다. 물론 파악 한다고 큰 문제가 있을까 싶지만 이런 안일한 생각이 화를 부른다.

우리 백엔드 팀은 비즈니스 로직에 관련된 Exception을 코드화 하기로 결정했다.

Exception Code 네이밍은 Prisma의 Exception 문서에서 영감을 얻었다.

Errors | Prisma Documentation

Glimpse의 G

도메인은 00~99

상황은 000~999

G00000 형태로 정했다.

예외 처리 형식