더북(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: 서버를 고장내주마!
...
시작
Error: 서버를 고장내주마!
...
// 계속 반복

에러는 발생하지만 try/catch로 잡을 수 있고 setInterval도 직접 멈추기 전(Ctrl+C)까지 계속 실행됩니다. 이렇게 에러가 발생할 것 같은 부분을 미리 try/catch로 감싸면 됩니다.

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