문제 출처 : BFE.dev Javascript Quizzes 120. try..catch..finally
function func() {
try {
console.log(1)
return
} catch (e) {
console.log(2)
} finally {
console.log(3)
}
console.log(4)
}
func()
위 코드의 출력 결과를 적어보세요.
1
3
- func() 함수가 호출되면, 코드 블록이 실행됩니다.
- try 블록 내에서 console.log(1)이 실행되고, 콘솔에 1이 출력됩니다.
- return 문에서 값을 반환하지 않고 비워두었기 때문에 함수가 여기서 종료되는데 이때 finally 블록이 실행됩니다.
- finally 블록 내의 console.log(3)이 실행되어 콘솔에 3이 출력됩니다.
- try 블록 내에서 예외가 발생하지 않았기 때문에 catch 블록은 실행되지 않습니다.
- return 문이 실행되면 함수의 실행이 즉시 중단되고 함수의 호출자로 값을 반환하게 되어 console.log(4)에 도달하지 않고 함수가 종료됩니다.