Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript의 7가지 핵심 오류(Error) 유형 완벽 정리

JavaScript의 다양한 오류 유형이란?

JavaScript에는 사용자 정의 오류를 만들 수 있는 일반 Error 생성자 외에도, 특정 상황에서 발생하는 오류를 나타내기 위한 7가지 핵심 오류 생성자가 내장되어 있습니다. 각 오류 유형은 고유한 발생 조건을 가지고 있으며, 이를 이해하면 디버깅과 예외 처리를 훨씬 효율적으로 할 수 있습니다.

  • EvalError − 전역 함수 eval()의 실행과 관련하여 오류가 발생했을 때 생성되는 인스턴스입니다. 현재 JavaScript 엔진에서 직접 발생하는 경우는 드물지만, 하위 호환성을 위해 유지되고 있습니다.

  • InternalError − JavaScript 엔진 내부에서 오류가 발생했을 때 생성되는 인스턴스입니다. 대표적인 예로 재귀 호출이 너무 깊어질 때 발생하는 "too much recursion"(과도한 재귀) 오류가 있습니다. 참고로 이 오류는 표준이 아니며 주로 Firefox 엔진에서 사용됩니다.

  • RangeError − 숫자형 변수나 매개변수가 허용된 유효 범위를 벗어났을 때 발생하는 오류입니다. 예를 들어 new Array(-1)처럼 음수 길이의 배열을 생성하려 하면 이 오류가 발생합니다.

  • ReferenceError − 유효하지 않은 참조에 접근하려 할 때 발생하는 오류입니다. 선언되지 않은 변수를 사용하는 경우가 대표적입니다.

  • SyntaxError − 코드 파싱 과정에서 구문 오류가 있을 때 발생하는 오류입니다. eval() 내부의 잘못된 코드나 JSON.parse()에 형식이 맞지 않는 문자열을 전달할 때도 발생합니다.

  • TypeError − 변수나 매개변수의 자료형이 유효하지 않을 때 발생하는 오류입니다. 예를 들어 null이나 undefined 값의 속성에 접근하려 하면 이 오류가 발생합니다.

  • URIErrorencodeURI() 또는 decodeURI() 함수에 잘못된 매개변수가 전달되었을 때 발생하는 오류입니다.

오류 유형 활용 팁

이러한 내장 오류 생성자는 throw 문과 함께 직접 사용할 수 있으며, try...catch 블록에서 instanceof 연산자로 오류 유형을 구분해 더욱 정교한 예외 처리 로직을 작성할 수 있습니다. 각 오류의 발생 원인을 정확히 파악해 두면 런타임 문제를 빠르게 진단하고 해결하는 데 큰 도움이 됩니다.