JavaScript를 사용하다 보면 예기치 못한 에러가 발생할 수 있다. 이러한 상황에서 에러를 처리하는 방법이 중요. JavaScript에서는 try...catch...finally 문을 사용하여 에러를 처리
try {
// 실행할 코드
const result = someFunction();
} catch (error) {
// 에러 발생 시 실행할 코드
console.error('에러 발생:', error);
}
try 블록 내에는 실행할 코드를 넣는다. 이 코드 블록 안에서 에러가 발생하면 catch 블록이 실행. catch 블록은 발생한 에러를 잡아서 처리. catch 블록의 괄호 안에는 발생한 에러를 나타내는 변수가 전달
try {
// 실행할 코드
const result = someFunction();
} catch (error) {
// 에러 발생 시 실행할 코드
console.error('에러 발생:', error);
} finally {
// 에러 발생 여부와 관계없이 항상 실행되는 코드
console.log('작업 완료');
}
finally 블록은 try 블록에서 예외가 발생하든 발생하지 않든 무조건 실행. 즉, 어떤 경우에도 마지막에 항상 실행되는 코드를 작성할 수 있음
function divide(a, b) {
try {
if (b === 0) {
throw new Error('0으로 나눌 수 없습니다.');
}
return a / b;
} catch (error) {
console.error('에러 발생:', error.message);
} finally {
console.log('나눗셈 연산 종료');
}
}
console.log(divide(10, 2)); // 5
console.log(divide(10, 0)); // 에러 발생: 0으로 나눌 수 없습니다.
위의 예시에서는 divide 함수를 사용하여 숫자를 나누는데, 두 번째 인자가 0인 경우 에러가 발생. 이때 try...catch...finally 문을 사용하여 에러를 처리하고, 마지막에 항상 finally 블록이 실행됨을 확인할 수 있다.
JavaScript 에러 처리에서 try...catch...finally 문은 예외 상황을 처리하고 코드의 안정성을 높이는 데 유용한 도구