Error 객체에 대해

이제우·2023년 11월 13일
0

Error

자바스크립트는 실행중 오류가 발생하면 Error 객체를 만든다.
자바스크립트는 싱글쓰레드 언어이기 때문에 에러를 꼭 처리해주어야 한다.

Error 만들기

throw <error object>

throw는 에러를 발생시키는 코드이다.

throw new Error('에러 발생');

이렇게 사용하면 에러객체를 사용해 정보를 확인할 수 있다.

interface Error {
    name: string;
    message: string;
    stack: string;
}

에러 객체의 내부를 확인하면 이렇게 생겼다.

name : 오류의 타입을 설명하기 위한 이름 (초기 값 : Error)
message : 오류 메세지
stack : 스택 추적을 위한 비표준 속성(디버깅)

const err = new Error('에러발생');

console.log(err.name);
console.log(err.message);
console.log(err.stack);

이렇게 확인할 수 있다.


try, catch

try catch문은 한마디로 예외 처리를 하는 코드이다.

try문을 실행하다 오류를 만나면 catch문을 실행하는 구조이다.

try{
    console.log("문제없음");
}catch(err){
    console.log("문제있음");
}

이렇게 오류가 없으면 try문만 실행하다가

try{
    console.log("문제없음");
  	throw new Error();
}catch(err){
    console.log("문제있음");
}

에러가 발생하면 catch문으로 넘어간다.
여기서 중요한건 catch문으로 넘어가는 시점은 에러가 발생한 그 시점이라는 것이다.
위의 코드도 첫번째 console.log가 실행된 후 catch로 넘어간다.

try{
    console.log("문제없음");
  	throw new Error("문제있음");
}catch(err){
    console.log(err.message);
}

catch문의 매개변수에는 에러객체가 들어오기 때문에 이렇게 활용할 수도 있다.

오류 타입

타입설명
SyntaxError문법적으로 유효하지 않은 코드 확인 시 발생하는 에러
ReferenceError존재하지 않은 변수를 참조하면 발생하는 에러
RangeError범위를 벗어나면 발생하는 에러
TypeError유효한 자료형이 아니여서 연산할 수 없을 때 발생하는 에러
URIError전역 URL 핸들링이 잘못 사용됐을 때 발생하는 에러
EvalErroreval() 함수 에러, 현재는 사용되지 않음
profile
게으른 사람 중에 제일 부지런하게 사는 사람이 꿈

0개의 댓글