에러와 에러 객체
자바스크립트에서는 코드 실행 중 발생할 수 있는 다양한 에러를 처리하기 위해 에러 객체를 사용합니다.
ReferenceError
: 존재하지 않는 변수나 함수를 호출할 때 발생하는 에러TypeError
: 잘못된 방식으로 자료형을 다루면 발생하는 에러SyntaxError
: 문법에 맞지 않는 코드를 작성하면 발생하는 에러
의도적으로 에러 객체 생성
코드 실행 중 에러를 강제로 발생시킬 때는 throw
를 사용하여 에러 객체를 던지고, 생성한 에러 객체를 발생시켜 이후 코드 실행을 중단합니다.
// 에러 객체 생성
const error = new ReferenceError('에러가 발생');
const error = new TyprError('에러가 발생');
const error = new SyntaxError('에러가 발생');
// 에러 객체를 발생시켜 코드 실행을 중단하고 예외를 던집니다.
throw error;
이러한 방식으로 에러를 발생시켜, 코드의 오류를 처리하고 디버깅할 수 있습니다.
try...catch문
try...catch
문은 자바스크립트에서 대표적인 에러 처리 방법입니다.
try {
// 실행할 코드
} catch (err) {
// 에러가 발생했을 때 실행할 코드
}
try
문 안에 실행할 코드를 작성하고, try문에서 에러가 발생한 경우에는 catch
문 안에서 에러를 처리합니다.
try
문에서 에러가 발생하지 않는다면 catch
문의 코드는 동작하지 않습니다.
finally문
try {
// 실행할 코드
} catch (err) {
// 에러가 발생했을 때 실행할 코드
} finally {
// 항상 실행할 코드
}
finally
문은 try
문에서 에러가 발생하지 않는 경우에는 try
문 코드가 실행된 후, 에러가 발생한 경우에는 catch
문 코드가 실행된 후에 실행됩니다. finally
문은 에러 발생 여부와 관계없이 실행됩니다.
try...catch문 중첩
finally
문에서 에러가 발생한 경우에는 다시 catch
문으로 넘어가지 않습니다. 그러므로 만약에 finally
문에서도 에러 처리가 필요한 경우에는 아래 처럼 try..catch
문을 중첩해서 활용하는 방법이 있습니다.
try {
try {
// 실행할 코드
} catch (err) {
// 에러가 발생했을 때 실행할 코드
} finally {
// 항상 실행할 코드
}
} catch (err) {
// finally문에서 에러가 발생했을 때 실행할 코드
}
'Front-End > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 모듈(module)이란? (3) | 2024.09.17 |
---|---|
[JavaScript] forEach, map 배열 메소드 (2) | 2024.09.13 |
[JavaScript] 옵셔널 체이닝 (Optional Chaining) (0) | 2024.09.12 |
[JavaScript] 콜백 함수(Callback) 정리 (0) | 2024.09.11 |
[JavaScript] Rest Parameter, Arrow Function, this 정리 (2) | 2024.09.11 |