작성
·
159
0
err처리하는 스크립트가 다르더라고요
1) if(err) throw err
2) if(err) return res.status(400).json({msg : "에러 있음"})
이렇게 두가지로 있는것 같은데, 1)은 에러를 그냥 버리고 2)는 에러가 있으면 응답으로 넘겨라 라는 것 같아요. 이걸 구분해서 쓰는 기준이 있나요?
혼자 복습해서 스크립트 작성하는데 이런게 햇갈립니다.
-추가질문-
그리고 res에다 status(번호)를 붙이는 데, 어떤건 status를 사용하고, 어떤건 안하는지 그 기준이 궁금합니다.
답변 1
0
(요약) 제일 좋은 것은 개발을 위해 status를 붙여 주는 것이 좋습니다. 그래야 어디서 에러가 났는지 코드보고 쉽게 확인 가능합니다.
다만, production 상태에서는 숨기는 것이 좋습니다. 너무 친절하게 상태가 어떤지 공격하는 사람에게 알려줄 필요가 없거든요.
※ (참고) errorHandler(미들웨어)를 만들어서 process.env.NODE_ENV가 dev 인지 production인지에 따라 일괄적으로 상태코드를 숨길수도 있습니다.
※ (참고) 상태코드 https://developer.mozilla.org/ko/docs/Web/HTTP/Status