Humanity

Edit the world by your favorite way

RAII vs. finally

(※この記事は Enter Password からの記事です)


すげー恥ずかしい勘違いをしていた。


ある人の「でもほら、close()とか忘れちゃうでしょ?」っていう言葉を聞いてやっと分かった。
RAIIは終了処理を意識しないで済む技法で、
finallyで代用できるものじゃないことを知った。
わざわざstream系のクラスのオブジェクトを作るたびに手動でfinally書かなきゃいけない、というのはめんどくさすぎる。
以前は「RAIIとかクラス作るのがめんどくさい」とか言ってたんだけど、とんでもない勘違い。


やはりデストラクタとかscope-guard的な機能がない言語はつらい。
IDEでclose()忘れてますよ、って言ってくれればいいんだけど、
eclipseでもclose()忘れは警告も出なかった気がするなぁ。