전역 catch

lee jae hwan·2022년 7월 31일

javascript

목록 보기
72/107

try catch는 예외가 발생할것으로 예상되는 구문에 사용하기 때문에 예외가 예상치못한 예외가 발생하면 스크립트는 중단될 수 밖에 없다.

스크립트가 중단되는 예외가 발생되더라도 발생된 예외의 정보가 저장되면 사후대처가 가능해진다.

예상못한 예외정보를 어떻게 저장할 수 있을까?

브라우저는 window.onerror 이벤트핸들러를 지원하므로 콜백함수에 예외정보를 저장할 수 있다.

window.onerror = function(message, url, line, col, error) {
  // ...
};
<script>
  window.onerror = function(message, url, line, col, error) {
    console.log(`${message}\n At ${line}:${col} of ${url}`);
  };

  function readData() {
    badFunc(); // 에러가 발생한 장소
  }

  readData();
</script>

콜백함수에서 예외에대한 정보를 서버에 저장하면 된다.

0개의 댓글