📌 자바스크립트 예외 처리 (Exception Handling)
🔹 오류(Error)란?
오류는 부정확하거나 유효하지 않은 동작을 의미합니다.
SyntaxError
: 문법 오류ReferenceError
,TypeError
, 등은 런타임 중 발생하는 예외.
🔹 예외(Exception)의 종류
1️⃣ 구문 오류 (Syntax Error)
- 프로그램 실행 전, 코드 작성 시 문법 오류로 인해 발생.
- 언어의 규칙을 따르지 않을 때 발생합니다.
console.log('-- 구문 오류 예제 --');
// console.log('프로그램이 시작되었습니다' // 닫는 괄호 없음
2️⃣ 런타임 오류 (Runtime Error)
- 프로그램 실행 중에 발생하는 예외.
- 오타나 예외적인 상황으로 인해 실행이 중단될 수 있음!
console.log('-- 런타임 오류 예제 --');
// console.rog('log를 rog로 잘못 입력하였습니다'); // 오타 발생
📌 SyntaxError
를 제외한 모든 오류는 런타임 예외로 분류 됨.
🔹 예외 처리 방법
1️⃣ 기본 예외 처리 (조건문 사용)
document.addEventListener('DOMContentLoaded', () => {
const h1 = document.querySelector('h1');
if (h1) {
h1.textContent = '안녕하세요';
} else {
console.log('h1 태그가 존재하지 않습니다.');
}
});
⚠️ 조건문을 통한 예외 처리는 복잡한 상황에 적합하지 않으므로, 권장되지 않음!
2️⃣ 고급 예외 처리 (try...catch...finally
)
function randomException() {
if (Math.random() < 0.5) {
throw new Error('무언가 잘못되었습니다!');
}
return '성공적으로 실행되었습니다.';
}
try {
const result = randomException();
console.log(result);
console.log('try 구문의 마지막 줄');
} catch (e) {
console.log('catch 구문');
console.log(e.message);
} finally {
console.log('언제나 실행');
}
console.log('======================');
🔸 Error 객체
- 자바스크립트의 모든 예외는
Error
객체를 상속. - 주요 속성:
name
: 예외 이름message
: 예외 메시지
let myError = new Error('에러를 생성합니다.');
console.log(myError.message);
🔹 사용자 정의 예외 처리 및 throw
throw
키워드를 사용하면 예외를 강제 발생시킬 수 있음.
function text(obj) {
if (!obj || obj.a === undefined || obj.b === undefined) {
throw new Error('함수 호출 시 object와 a, b 속성이 전달되어야 합니다!');
}
console.log(obj.a + obj.b);
}
try {
text({a: 5, b: 10});
text({a: '전', b: '창현'});
text(); // 예외 발생
} catch (e) {
console.error('에러 발생:', e.message);
}
console.log('일반 코드 흐름');
🚀 예외 처리 활용 잘하기!!
'IT > HTML,CSS,JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 복습 part14 (0) | 2025.04.09 |
---|---|
[JavaScript] 자바스크립트 기초 복습 part 12 (0) | 2025.04.03 |
[JavaScript] 자바스크립트 기초 복습 part 11 (0) | 2025.04.01 |
[JavaScript] 자바스크립트 기초 복습 part10 (0) | 2025.03.28 |
[JavaScript] 자바스크립트 기초 복습 part9 (0) | 2025.03.27 |