: 사용자 정의의 예외 발생 코드
: 예외 발생시 현재 함수의 실행이 중지되고 throw 이후의 함수는 실행 x
function doException () {
throw new Error('와우! 오류야!')
}
function main () {
doException();
}
main();
던진 예외 코드(throw)를 아무데서도 받아주지 않아서 종료
function main () {
try {
doException();
} catch (error) {
console.log(error);
} finally {
console.log('done')
}
}
=> 예외를 처리했다고 봄
=> finally 구문은 무조건 실행
function noException () {
return true;
}
function main () {
try {
noException();
} catch (error) {
console.log(error);
} finally {
console.log('done')
}
}
main();
=> done만 출력
function callException (type) {
if (type === "do") {
doException();
} else {
noException();
}
}
function main () {
try {
callException('do');
} catch (error) {
console.log(error);
} finally {
console.log('done')
}
}
main();