JS Deep Dive | 2022.01.08

invidia·2022년 1월 8일
0

TIL

목록 보기
27/29

47. 에러 처리

정리

에러처리의 필요성

  • 에러 처리가 되지 않은 상태로 에러가 발생한다면 프로그램이 강제 종료된다.
    • 에러 처리로 적절히 대응한다면, 계속 코드를 실행시킬 수 있다.
    • 예외 사항에 따른 대응을 하여 원익파악을 쉽게 할 수 있다.

에러 처리 방법

  1. 예외사항에서 발생하는 반환값( null, -1) 을 감지하여 처리
  2. 에러 발생 시 에러 처리 코드로 점프하도록 함
    • try catch finally을 이용함.
  • try: 실행되는 코드 블록.
    • 에러 발생 시 catch 문의 error 변수로 전달 후 try문 종료
  • catch: 에러 발생시 에러를 error 변수로 받아 처리하는 코드 블록.
  • finally: 에러 무관하게 최후에 한번 실행되는 코드 블록.

Error 객체들

  • const err = new Error("err");
    • new 연산자로 생성한다.
    • 프로퍼티
      • message: 생성한 에러의 메세지
      • stack: 발생시킨 콜스택의 호출 정보 문자열

객체의 종류

  • Error: 일반적인 에러
  • SyntaxError: 문법에 맞지않는 문 해석 시 발생하는 에러
  • ReferenceError: 참조 불가능한 식별자 참조시 발생하는 에러
  • TypeError: 데이터 타입이 유효하지 않을 때 발생하는 에러
  • RangeError: 숫자값이 허용범위를 벗어났을 때 발생하는 에러
  • URIError: encode, decodeURI에 잘못된 인자 전달 시 발생하는 에러
  • EvalError: eval 함수에서 발생하는 에러

throw 문

  • try 코드 블록에서 throw문을 이용해 catch문으로 에러를 던질 수 있다.

에러의 전파

  • 에러는 호출자 방향으로 전파되므로 하위함수에서 발생한 에러를 상위함수에서 캐치할 수 있다.
    • 아무도 캐치하지 못하면 프로그램 강제종료된다.

느낀점

  • 책을 고르기 전, 이부분에 관한 목차를 봤는데 중요한 내용임에도 아무런 지식이 없다는 걸 깨달아 이 책을 구매하게 되었다. 내용이 많진 않지만 중요한 부분이니 꼭 알아두어야 할 것 같다.

0개의 댓글