예외 종류(Error Types)

치만·2025년 1월 7일
post-thumbnail

🎯 예외 상황런타임 시에 의도치 않은 상황을 뜻합니다. 이를 숙지하여 핸들링하도록 에러의 종류에 알아보고자 합니다.

EMCAScript Error

JavaScript에서 발생하는 Error Types

RangeError

숫자 변수나 매개변수가 유효한 범위를 벗어났을 때 발생하는 오류

ReferenceError

잘못된 참조를 했을 때 발생하는 오류

SyntaxError

문법이 올바르지 않을 때 발생하는 오류

TypeError

변수나 매개변수가 유효한 자료형이 아닐 때 발생하는 오류

URIError

encodeURI()decodeURl() 함수에 부적절한 매개변수를 제공했을 때 발생하는 오류

AggregateError

하나의 동작이 여러 개의 오류 발생시키는 경우(예: Promise.any()) 여러 오류를 하나의 오류로 감싸는 인스턴스

.
.
.

DOMException

Web API에서 발생하는 Error Types

IndexSizeError

인덱스가 허용 범위를 벗어난 오류

HierarchyRequestError

DOM에 추가하려는 노드가 허용되지 않는 오류 (부모-자식 관계가 올바르지 않을 때 주로 발생합니다.)

WrongDocumentError

iFrame 또는 외부 문서에서 가져온 노드를 현재 DOM에 삽입하려 할 때 발생하는 오류

NotFoundError

DOM에서 존재하지 않는 노드를 제거하거나 조작하려 할 때 발생하는 오류

SyntaxError

제공된 문자열이 올바른 구문을 따르지 않을 때 발생하는 오류

NetworkError

네트워크 요청이 실패했을 때 발생하는 오류

AbortError

네트워크 요청이나 다른 작업이 중단되었을 때 발생하는 오류

TimeoutError

작업 시간이 초과되었을 때 발생하는 오류 (응답 한도를 넘어선 경우)

.
.
.

Error() 생성자

그외는 new Error() 를 사용하여 직접 Error를 핸들링할 수 있는 방안이 있다.

const errorMessage = () => {
  console.log('throw 하기 전 메세지');
  const customError = new Error();
  customError.name = 'customError';
  customError.message = '에러가 발생하였습니다.';
  
  throw customError;
  console.log('throw 한 후 메세지');
};

errorMessage(); 
// throw 하기 전 메세지
// Uncaught customError: 에러가 발생하였습니다.


⚠️ 오류 읽는 법

Uncaught : catch문으로 처리되지 않은 상태를 의미합니다.

TypeError : console.lof라는 함수가 존재하지 않아 호출할 수 없다는 오류를 의미합니다.

<anonymous> : 코드가 특정 이름이 있는 함수가 아닌 익명 함수나 콘솔 등에서 실행되었음을 의미합니다.

1 : 오류가 발생한 코드의 행 번호입니다. → 첫 번째 줄(공백 포함)에서 오류 발생한 것을 의미합니다.

9 : 오류가 발생한 코드의 열 번호입니다. → 아홉 번째 문자(공백 미포함)에서 오류가 발생한 것을 의미합니다.


레퍼런스
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Error
https://developer.mozilla.org/en-US/docs/Web/API/DOMException
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Error/Error

profile
🌱개발 기록장

0개의 댓글