-
예외처리웹프로그래밍/node.js 2019. 8. 8. 13:32
노드는 싱글쓰레드이기 때문에 하나가 죽으면 전체 서버가 죽기 때문에 예외처리가 필수이다.
setInterval(()=> { console.log('시작'); throw new Error('서버를 고장내주마'); },1000);
setInterval로 1초마다 콜백이 실행되게 해주는데 error가 발생하니까 바로 서버가 죽어버렸다.
try/catch문을 활용
setInterval(()=> { console.log('시작'); try { throw new Error('서버를 고장내주마'); } catch (error) { console.error(error); } },1000);
서버가 죽지않고 계속 1초마다 실행된다.
하지만 에러가 나면 내보내는게 아니고 처리를 해야하기 때문에 try/catch를 권장하지는 않는다.
하지만 async/await처럼 어쩔 수 없이 try/catch를 써야하는 경우도 있다.
process.on('uncaughtException')을 활용
process.on('uncaughtException', (err) => { console.error('예기치 못한 에러', err); }); setInterval(()=> { console.log('시작'); throw new Error('서버를 고장내주마'); }, 1000); setTimeout(() => { console.log('실행됩니다'); }, 2000);
uncaugthException으로 에러가 기록되기는 하지만 에러가 계속 난다.
'웹프로그래밍 > node.js' 카테고리의 다른 글
쿠키와 세션 구현하기 (0) 2019.08.09 http 모듈 (0) 2019.08.08 events모듈 (0) 2019.08.08 util 모듈 && fs 모듈 (0) 2019.08.07 path모듈 && url모듈 && crypto모듈 (0) 2019.08.07 댓글