...
노드 uncaughtException
모든 코드를 try{} catch {} 로 감싸는 것은 귀찮은 일이다. 하지만 정말 어쩌다가 예기치 못한 에러가 나와 싱글 스레드인 노드가 죽어버려 서버가 아예 다운 되는 현상이 생길 수 있다.
이러한 예측하지 못한 에러를 모아 catch로 한방에 처리할수 있는 방법이 있다.
단, 최후의 수단으로 사용해야 한다.
- 콜백 함수의 동작이 보장되지 않음
- 따라서 복구 작업용으로 쓰는 것은 부적합
- 에러 내용 기록 용으로만 쓰는 게 좋음
// uncaughtException 이 모든 에러를 잡아주지는 않음.
// 따라서 여기에 복구 코드를 넣는건 비추천함.
// 단순히 에러 발생 확인용으로만 사용
process.on('uncaughtException', err => {
console.error("예기치 못한 에러 ", err);
})
setInterval(() => {
throw new Error("서버를 고장내주마!");
}, 1000);
setTimeout(() => {
console.log("실행 됩니다.");
}, 2000);
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.