반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- 러닝
- SQL
- 위코드
- 메디패치
- nodejs
- 운동일지
- dml
- axios
- node.js
- 월별 운동일지
- 박스점프
- 독서 리뷰
- code kata
- github
- wecode
- express
- node
- 활동 킬로칼로리
- git
- MySQL
- JavaScript
- Udemy
- 달리기
- dql
- 습윤밴드
- 크로스핏
- Til
- 드림코딩
- 홈트
- 걷기
Archives
- Today
- Total
RISK IT
[TIL35_23.2.12] [Node] 에러핸들링 - 레이어 별 발생 에러 본문
반응형
레이어 별 발생 에러
1. Controller Error
컨트롤러는 표현 계층, 즉 입력과 출력에 관련한 부분을 담당. HTTP 통신을 처리하는 웹 서버의 관점에서는 http request (요청 입력), http response (응답 출력)을 담당하는 레이어이다. 따라서 통신이 처음 시작될 때, 사용자로 부터 받은 정보를 클라이언트(프론트엔드)가 전달해주면, 해당 입력에 대한 유효성 검증을 처리하며 에러 및 예외가 발생할 수 있다.
예시
KEY_ERROR가 대표적- 사용자 입력이 잘못되었다면, 주로 400번대 http status code를 보냄
2. Service Error
서비스 레이어는 주로 비즈니스 로직과 규칙을 설정하는 곳. 이 곳에는 보통 기획에 따른 비즈니스 규칙에서 비롯된, 개발자가 직접 의도한 예외와 관련된 에러가 발생한다. 에러의 발생 위치는 Service 단 하위에 위치한 계층의 모듈과, 직접 이곳에서 호출하는 서비스 모듈의 에러가 발생할 수 있다.
- 만일 비즈니스 규칙에 위반되는 사항이 발생가능하다면 꼭 이곳에서 필히 해당 문제의 경우에 상응한 Status Code와 함께 에러를 발생시켜야 한다.
- 사용자의 요청의 문제가 아니라 내부 처리 과정 중 문제라면 500번대 Status Code를 보내는 것이 일반적
3. Dao Error
데이터 액세스 계층은 주로 영속적인 저장소와 관련된 코드를 작성하는 곳. 주로 데이터 베이스 드라이버가 위치하는 곳이기 때문에 데이터 베이스에 의존적인 에러가 발생할 수 있다.
아울러 Node + Express와는 다른 외부 시스템으로서 연동되어 있고, 이 때 주로 비동기 호출을 하기 때문에, 비동기 에러 핸들링에 적합한 방법을 이용해야 한다.
- 만일 데이터베이스의 문제로 에러가 발생한다면 500번대 status code
- 나머지 예외적인 사항(데이터 없음, 이상 현상)에서는 적절한 status code 및 에러
반응형
'IT > TIL' 카테고리의 다른 글
[TIL37_23.2.21.] 이력서 특강 정리 (0) | 2023.02.22 |
---|---|
[TIL36_23.2.20] [AWS] EC2, RDS, VPC 설치하면서 주의해야할 점들 (0) | 2023.02.21 |
[TIL34_23.2.11] [1st-project] postman 갑자기 통신 안되는 에러 해결(router 순서 문제) (0) | 2023.02.11 |
[TIL33_23.2.10] [1st-project] endpoint, query parameter (0) | 2023.02.11 |
[TIL32_23.2.9] [1st-project] 상품 상세페이지 조회 SQL 쿼리문 작성 (0) | 2023.02.11 |