VB.NETの場合
Dim ArrayObject() As Object = new Object(4){}
で、要素が5つ作られる。(index=0~4)
C#の場合
object ArrayObject[] = new object[4];
で、要素が4つ作られる。(index=0~3)
何年もやっているのにVB.NETに戻るとき、たまに間違える。
まぁ、そんなわけで、私が書いているコードはほとんどTry-Catch-Finallyではなく、Try-Finallyばかりだ。
正当な理由がある(Catchする事に意味がある。)時や、付加情報を付けて再Throwしたい時くらいしかcatchしない。
では何処でcatchしているかというと、global.asaxのApplication_Errorイベント内。
ここに例外が飛んできたら、イベントログに、その内容を書き出してDebugモード時は画面にも例外の内容を、Releaseモード時は「ご迷惑をお掛けしています。」ページに遷移するようにしている。
では、なぜむやみにcatchしては駄目かと言えば、
逆に、正当な理由が無いものについては個別にcatchしないでAppication_Errorで一元管理すると何が良いかと言えば、
また、
一応、上記の根拠に沿って、こういう実装をしているわけです。
もし、そこら中で意味も無くcatchしているとしたら、それはバグ許容宣言をしているようなものなので、やめた方が良いでしょう。
ProかEnterprise Developerか・・・
すべてはVSSと2005になった時の事を考えないと行けない。
6万の差は安い?
Visual Studio .NET 2003 Pro MSDN DX 優待パッケージ
Visual Studio .NET 2003 Enterprise Developer MSDN DX 優待Package
なにげに、新人の方々にもおすすめな本です。
これをネタに5人くらいの新人チームを作り、
その日のリーダーを決め、
1章単位で、輪読し、
その後、リーダーが纏めた結果をプレゼンする。
周囲は、それに突っ込みをいれる。
とかもできるし、
一人で読んでも分かりやすく書いてあると思う。
これに書いてある内容についていけなくなったら、
そこを重点的に補強すると良い。
まぁ、とにかく難しい内容を難しくなく説明してくれる良書です。
プログラミングMicrosoft .NET Framework (マイクロソフト公式解説書)