에러(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 문을 사용하면 발생한 에러에 적절하게 대응할 수 있습니다. 이를 통해 프로그램이 강제 종료되지 않고 계속해서 실행될 수 있습니다.
예시 코드
'Front-end > JavaScript' 카테고리의 다른 글
자바스크립트 비동기 프로그래밍 (2) | 2024.08.05 |
---|---|
자바스크립트 Promise 와 async / await (0) | 2024.08.01 |
자바스크립트 표준 내장 객체(Standard Built-in Object) (6) | 2024.07.31 |
자바스크립트 배열 (0) | 2024.07.29 |
자바스크립트 호이스팅 (0) | 2024.07.24 |