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