다음 예제에서는 프로세스가 멈추지 않도록 에러를 잡아보겠습니다. 에러가 발생할 것 같은 부분을 try/catch문으로 감싸면 됩니다.
error1.js
setInterval(() => {
console.log('시작');
try {
throw new Error('서버를 고장내주마!');
} catch (err) {
console.error(err);
}
}, 1000);
setInterval을 사용한 것은 프로세스가 멈추는지 여부를 체크하기 위해서입니다. 프로세스가 에러로 인해 멈추면 setInterval도 멈출 것입니다. setInterval 내부에 throw new Error()를 써서 에러를 강제로 발생시켰습니다.
콘솔
$ node error1
시작
Error: 서버를 고장내주마!
...
시작
Error: 서버를 고장내주마!
...
// 계속 반복
에러는 발생하지만 try/catch로 잡을 수 있고 setInterval도 직접 멈추기 전(Ctrl+C)까지 계속 실행됩니다. 이렇게 에러가 발생할 것 같은 부분을 미리 try/catch로 감싸면 됩니다.