728x90
예외(Exception): 처리하지 못한 에러
- 노드 프로세스/스레드를 멈춤
- 노드는 기본적으로 싱글 스레드라 스레드가 멈춘다는 것은 프로세스가 멈추는 것
- 에러 처리는 필수
try-catch

- 기본적으로 try catch문으로 예외를 처리
- 에러가 발생할 만한 곳을 try catch로 감쌈
노드 비동기 메서드의 에러는 따로 처리하지 않아도 됨

- 콜백 함수에서 에러 객체를 제공하기 때문에 따로 에러 처리를 하지 않아도 된다.
- 에러를 잡지 않아도 프로그램이 멈추지 않는다
- 에러를 log로 남겨 어떤 오류가 발생했는지는 파악해야한다.
프로미스의 에러는 따로 처리하지 않아도 됨

- promise에 오류가 발생하면 지저분한 로그가 위와 같이 써진다
- 노드 버전이 올라가면 동작이 바뀔 수 있다(지금은 종료되지는 않는다)
- 어떻게 될지 모르니 catch를 붙이는 습관을 가지자
예측 불가능한 예외 처리하기

- 콜백 함수의 동작이 보장되지 않음
- 따라서 복구 작업용으로 쓰는 것은 부적합
- 에러 내용 기록 용으로만 쓰는 게 좋음
- 모든 에러 내용이 다 기록되므로 로그를 보고 복구하거나 하면 된다
프로세스 종료하기
윈도우

맥/리눅스

728x90
'Node > 노드 기능' 카테고리의 다른 글
| 스레드풀과 커스텀 이벤트 (0) | 2022.09.04 |
|---|---|
| pipe와 스트림 메모리 효율 확인 (0) | 2022.09.04 |
| 버퍼와 스트림 이해하기 (0) | 2022.09.04 |
| 파일 시스템 사용하기 (0) | 2022.09.04 |
| child_process (0) | 2022.07.24 |