에러와 에러 객체
자바스크립트에서는 코드 실행 중 발생할 수 있는 다양한 에러를 처리하기 위해 에러 객체를 사용합니다.
- `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 |