[.NET] Re: 例外について (biac の それさえもおそらくは幸せな日々@nifty 2009/8/10)
これ、全面的に同意。今やってる仕事である人がやった部分には以下のようなのが至る所に。public bool f1(MyEnum anEnum) { try { if(anEnum == MyEnum.Item1) return true else return false; } catch(Exception) { /* なにもないよ~ */ } return false; }関数1行目がtry。勘弁してよ関数全部例外無視ってorz if文で値比較するだけのどこに例外が出ること恐れてるのよ、むしろ出たときの方が知りたいぞ。
別の先輩の話。Visual BasicにはOption Explicit という機能がありまして、これを指定すると全変数をあらかじめ宣言しないとコンパイル時にエラーを出すというもの。一見面倒くさくなるだけの機能に思えますが、変数名の打ち間違えを未然に防いでくれる ので、この辺で悩んだ事のある人には便利な機能のはず。Visual Studioでは新しいVBファイルを作るたびに自動的にこの行を入れてくれる設定があります。ところが彼は「Option Explicitを削除するとコンパイル時のエラーが減るんですよ」と、耳寄り情報のように教えてくれたそうで。
製品としてリリースした後ならともかく、開発時やら説明すれば理解してくれる限定ユーザー向けならば、エラーは恐れずどんどん表示してください。放置すると後で分けの分からない現象に悩んだり、たまたま動いているプログラムで満足しているといいプログラマーにはなれないと思います。お願いします、本当に… (直すこっちが迷惑だorz)
[2010/8/31 追記] 前者「関数1行目がtry」な方が書いたコードを久しぶりに見直したら、以下の部分が orz 意味が無いにも程がある。関数の書き始めはtryが癖になっているらしい。public void foo() { try { 処理 } catch (Exception e) { throw e; } }
Comments