bluelion2 / Project-issue-repo

프로젝트를 진행하면서 있던 오류와 해결을 기록하는 repo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[JS] Nested Try Catch Error 처리하기

bluelion2 opened this issue · comments

현재 웹 매쓰플랫 프로젝트 구조는

  • 서버와 통신하는 API단
  • api를 받아와서 데이터를 가공하는 처리를 하는 Controller
  • controller를 조작, UI와 관련된 기능을 하는 Service
  • 화면에 뿌려지는 UI

이렇게 구성되어있다.
문제가 되는건, API에서 일어난 에러 처리를 위해 UI에서 처리해야하는 것들이 몇가지 보이는데, 어떻게 처리하는게 좋을지 질문을 받았다.
(Ex - 로그인 요청시 서버에서 http error처리 외에, 따로 주는 에러메세지와 code들)

그동안에는 UI와 api 두개로만 분리를 해서 try catch를 통해 바로 처리를 했는데,
이렇게 layer가 분리된 프로젝트에서는 에러가 어디 층에서 난 것인지 확인이 쉽지 않아보였다.

우선 CommonError class를 만들어서 각 층에서 이렇게 해볼까 함..

`try {
...
} catch(error) {

const errorObj = new CommonError(error, 'layer')
throw errorObj
}
`