램에서 이 자원을 계속 가지고 있을 수는 없으므로 에러가 있든 없든 어느 시점에서는 이 자원
을 해제해야 합니다.
try
블록에는 문을 원하는 만큼 쓸 수 있고, 그중 어디서든 에러가 일어나
서 자원을 해제할 기회가 아예 사라질 수도 있으므로
try
블록에서 자원을 해제하는 건 안전하
지 않습니다. 에러가 일어나지 않으면 실행되지 않는
catch
블록 역시 안전하지 않습니다. 이
런 상황에서
finally
블록이 필요합니다.
finally
블록은 에러가 일어나든, 일어나지 않든 반
드시 호출됩니다.
파일 처리나
HTTP
연결은 다루지 않았으므로 간단하게
console
.
log
문을 써서
finally
블
록을 실험해 봅시다.
try
{
console
.
log
("
this
line
is
executed
...");
throw
new
Error
("
whoops
");
console
.
log
("
this
line
is
not
...");
}
catch
(
err
) {
console
.
log
("
there
was
an
error
...");
}
finally
{
console
.
log
("...
always
executed
"); ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.
O’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
I wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
I’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
I'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.