void Func()
{
Hoge h = FindHogeHoge("HogeName");
if (h != null)
{
// h に対して何か処理をする。
}
}
上記のようなコードを本当によく見かける。
h が null でない事を確認しているのだから、まぁ良い作法のコードなのだろうけど、「じゃ、null のときはどうすんの?」ってのが気になる。書いた本人に訊くと、十中八九「null はあり得ない」って返答が来る。「あり得ないならチェックの必要ないんじゃない?」って気がするんだが。次のようなコードの方が良くなくなくない?
void Func()
{
Hoge h = FindHogeHoge("HogeName");
if (h == null) throw new ApplicationException("アリエナーイ");
// h に対して何か処理をする。
}
バグったときも、とてもオチャメなメッセージで場を和ませてくれる。