前回の記事の補足。微妙にコード例がわかりにくい気がしたので、同じようなコードをfinallyで書いた場合とデストラクタで書いた場合の比較をしてみます。 題材 やっぱりファイル操作しか思いつかなかったので、ファイルを追記モードで開いて書きこむだけのlogger()関数を実装することを考えました。かなり適当な作りですので、実用性は微妙です。 logger(file, message, time=null) string file: 書き込むファイル名。もし書き込めないファイルを指定した場合はdefault.logに書き込む。default.logは必ず書き込めるものとしてよい。 string message: 書き込む文字列。 string time: ログに出す時間を指定する。省略した場合は現在時刻が書き込まれる。 fileに書き込めないファイルパスを突っ込んだ場合、timeにパースできない
![finallyな書き方、デストラクタな書き方](https://cdn-ak-scissors.b.st-hatena.com/image/square/126e9c63960837b5815901e11e1f6c1303c17f2b/height=288;version=1;width=512/https%3A%2F%2Fblog.seesaa.jp%2Fimg%2Fogp_logo.png)