logoalt Hacker News

throwaway81523yesterday at 9:38 PM2 repliesview on HN

Article describes try/finally as a hack to get the effect of defer, but it looks to me like it's the other way around? Try/finally is more traditional, in one form or another.


Replies

kaashifyesterday at 10:36 PM

If the idea of computers is that they remember stuff for you and do stuff for you, then both try/finally and defer seem like hacks to work around not having RAII like e.g. Rust or C++ where resources are closed/disposed of/deallocated automatically.

Try X finally dispose of all resources. X, defer clean up X. Or how about just X and cleanup is done automatically, with the author of the resources deciding what is needed to clean X up.

show 1 reply
Rohansiyesterday at 10:10 PM

It's also necessary here because TypeScript has exceptions and you'd expect your `defer`s to execute even when an exception is thrown.