__finally…なんぞソレ

元々、C言語脳なわたしは例外があまり好きではない :|

でも、Java屋さんの時はtryを書きなさい :!: とコンパイラに怒られるので、うるさいなぁ~わかった、わかったなどと独り言を言いながら(心の中でね :) )仕方なく書く。

さらには、アプリケーション領域では極力Exceptionを発生源の近くで捕まえて処理するなり、握りつぶしたりする。フレームワークに近い層やクラスライブラリ層なんかを書いてる時はthrowすることもあるけど…極力throwしたくない。

しかし、Exception好きな人はExceptionに情報を詰め込んで平気でthrowする。確かに使い方を誤らなければロジックの見通しが良くなって素敵。この辺りは、ダメダメと言われるgoto文と似通っている。要は使いどころってやつですね。

さらに、結構素敵なのがfinally…色々な忘れ物がないように処理するのにこれほど都合のよい部分は確かにない :)

違う全く違う、Javaのことを言いたいわけじゃなかった :arrow:

C++だ…C++にも例外はある。構文もソックリだ。と言うか、C++の方が古いし。まぁ、C言語にも言えたことだが、C++も規約化がなかなか進まず実装まかせな部分が多かった。

なので、Microsoftさまは便利だろう :?: ってことで__finallyなる変なモノを構文に入れてくれた :mrgreen: あ、厳密には__finallyの出自がMicrosoftかは知らないけど。

まぁ、一見お便利なのでg++にも入れてくれよぉ~とか要求はあった(ある)らしい。まぁ、当然入ってないけど ;)

しかし、どうしてC++にはfinallyがないのだろう :roll: で、その答えはどうやら、色々調べてみると…デストラクタでやれや!と言うことっぽい…なるほどね。

Be Sociable, Share!

TrackBack URL :

No comments yet. Be the first.

Leave a reply