프라미스와 에러 핸들링
-
.catch는 프라미스에서 발생한 모든 에러 다룸
-
.catch는 명시적인 거부와 핸들러 위쪽에서의 에러 또한 잡을 수 있어서 체인 마지막에 위치 가능
-
프라미스 executor와 프라미스 핸들러 코드 주위엔 보이지 않는 ‘try..catch’ 있음
-
executor 주위(핸들러에서도)의 ‘암시적 try..catch’는 자동으로 에러 잡구 이를 거부상태의 프라미스로 변경(reject)
-
reject() 가 호출되거나 에러 던져지면 .catch에서 이를 처리
-
.catch 는 에러를 처리하고 싶은 지점에 정확히 위치 시켜야 하며 처리됮 못한 에러는 다시 던질 수 있음(가까운 에러 핸들러(catch)에서 다시 잡아냄)
-
.catch 추가 하지 않았을 시 에러가 ‘갇혀버리고’ 스크립트가 죽음
-
에러 발생 시 회복할 방법 없을 때 .catch 사용하지 않아도 괜찮음
-
JS 는 프라미스 거부 추적
-
unhandlerejection 이벤트 핸들러 사용해 처리되지 않은 에러 추적하고 이를 사용자(서버)에 알려서 앱이 그냥 죽는 것 방지 가능