728x90
반응형
SMALL
finally문은 try catch문이 끝난 다음에 최종적으로 실행될 코드를 다룰 때 활용하는데요.
finally문
try {
// 실행할 코드
} catch (err) {
// 에러가 발상했을 때 실행할 코드
} finally {
// 항상 실행할 코드
}
try문에서 에러가 발생하지 않는다면 try문의 코드가 모두 실행된 다음에, try문에서 에러가 발생한다면 catch문의 코드가 모두 실행된 다음 실행할 코드를 finally문에 작성하면 됩니다.
다시 말해 try문에서 어떤 코드를 실행할 때 에러 여부와 상관 없이 항상 실행할 코드를 작성하는 것이죠!
function printMembers(...members) {
for (const member of members) {
console.log(member);
}
}
try {
printMembers('영훈', '윤수', '동욱');
} catch (err) {
alert('에러가 발생했습니다!');
console.error(err);
} finally {
const end = new Date();
const msg = `코드 실행을 완료한 시각은 ${end.toLocaleString()}입니다.`;
console.log(msg);
}
위 코드 처럼 에러 유무와 관계없이 코드 실행 시각을 알고 싶을 때 활용할 수도 있겠죠?
finally문에서의 에러 처리는?
참고로 finally문에서 에러가 발생할 경우에는 다시 그 위에 있는 catch문으로 넘어가진 않습니다. 만약 finally문에서도 에러 처리가 필요한 경우에는 아래 처럼 try catch문을 중첩해서 활용하는 방법이 있는데요. 이런 부분도 잘 참고해 두셨다가 필요한 상황에 맞게 응용해 보세요!
try {
try {
// 실행할 코드
} catch (err) {
// 에러가 발상했을 때 실행할 코드
} finally {
// 항상 실행할 코드
}
} catch (err) {
// finall문에서 에러가 발생했을 때 실행할 코드
}
728x90
LIST
'프론트엔드 > Javascript' 카테고리의 다른 글
종합 정리_조건부 연산자_spread_구조분해_에러_try catch (0) | 2022.02.01 |
---|---|
Optional Chaining (0) | 2022.01.30 |
Spread 구문 (0) | 2022.01.30 |
문장 vs 표현식 (0) | 2022.01.28 |
즉시 실행 함수(IIFE) (0) | 2022.01.27 |