Front-end/JavaScript

자바스크립트 에러 처리

NiceKHJ 2024. 8. 1. 12:52

에러(Error)란 ?

에러는 프로그램 실행 중에 발생할 수 있는 예기치 않은 문제를 의미합니다.

에러는 다음과 같은 이유로 발생할 수 있습니다.

  • 개발자의 코딩 실수
  • 예상치 못한 사용자의 잘못된 입력
  • 존재하지 않는 파일 입출력 시도
  • 네트워크 통신 중 네트워크 단절

자바스크립트의 기본 에러 처리

자바스크립트 엔진은 프로그램 실행 중에 오류가 발생하면 에러 메시지를 콘솔에 출력하고 즉시 프로그램을 종료합니다. 이로 인해 에러 발생 시 프로그램의 흐름이 중단되며 사용자는 예상치 못한 결과를 경험할 수 있습니다.

 

에러 처리의 필요성

에러 처리는 프로그램이 강제 종료되지 않도록 하고 사용자와의 상호작용을 통해 계속 실행할 수 있게 하는 것입니다.

이를 위해 자바스크립트는 `try ~ catch ~ finally` 구문을 제공합니다.

 

에러 객체 종류

자바스크립트에는 여러 종류의 에러 객체가 있습니다. 실행 중 오류가 발생하면 자바스크립트 엔진은 에러에 대한 상세 내용이 담긴 에러 객체를 생성합니다. 예를 들어 `new referenceError("발생한 오류 메시지")`와 같이 생성됩니다.

 

1. Error 객체

모든 에러 객체들의 최상위 객체입니다. 에러를 설명하는 메시지를 인자로 받을 수 있습니다.

 

주요 프로퍼티

  • name : 발생한 에러의 이름 (예 : `TypeError`,`ReferenceError` 등)
  • message : 에러의 상세 내용
  • stack : 에러 발생까지의 콜 스택 정보 (디버깅에 유용)

2. 다양한 에러 객체

생성자 함수 설명
SyntaxError 문법에 맞지 않는 코드 해석 시 발생
ReferenceError 참조할 수 없는 식별자를 참조했을 때 발생
TypeError 데이터 타입이 유효하지 않을 때 발생
RangeError 숫자의 허용 범위를 벗어났을 때 발생
URIError `encodeURI` 또는 `decodeURI` 함수에 부적절한 인자를 전달했을 때 발생
EvalError `eval` 함수에서 발생하는 에러

 

 

try ~ catch ~ finally 구문

try ~ catch 문을 사용하면 발생한 에러에 적절하게 대응할 수 있습니다. 이를 통해 프로그램이 강제 종료되지 않고 계속해서 실행될 수 있습니다.

 

예시 코드