더북(TheBook)

다음 예제에서 프로세스가 멈추지 않도록 에러를 잡아보겠습니다. 에러가 발생할 것 같은 부분을 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: 서버를 고장내주마!
    at Timeout.setInterval [as _onTimeout] (C:\Users\zerocho\error1.js:4:11)
    at ontimeout (timers.js:469:11)
    at tryOnTimeout (timers.js:304:5)
    at Timer.listOnTimeout (timers.js:264:5)
시작
Error: 서버를 고장내주마!
    at Timeout.setInterval [as _onTimeout] (C:\Users\zerocho\error1.js:4:11)
    at ontimeout (timers.js:469:11)
    at tryOnTimeout (timers.js:304:5)
    at Timer.listOnTimeout (timers.js:264:5)
// 계속 반복

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.