突発的にメモ 例外クラスまとめ
.NET Framework によって提供される例外の中で、私がよく使用する例外についてまとめ。
主にテスト・デバッグを楽にするために使っているものです。
- InvalidOperationException
- クラスの状態が不適切な場合に投げる例外。状態を持つクラスがありえない状態でメッセージを受け取った場合投げるようにしておくと、テスト時のバグ発見に役立つ。このエラーが出る場合は基本的にコーディングミスorクラス間I/Fのすり合わせミス
- ArgumentException
- 入力された引数が予想の範囲を超えているものだった場合に投げる例外。引数を厳密にチェックし、NGな引き数の入力はコーディングミスと扱いたいときに便利。
- ArgumentNullException
- 上記ArgumentExceptionとにているが、入力されたオブジェクトのインスタンスがnullの場合に投げる例外。ArgumentExceptionは引数がNullではないが間違っている場合に投げられる例外。ArgumentNullExceptionは引数がNullの場合に投げられる。どちらも、変な引数わたすのはコーディングミスと扱いたいときに便利。
- NotSupportedException
- 呼び出されたメソッドがサポートしていない場合に投げられる例外。状態マシンを持つクラスで、ありえない操作を行われた場合にこの例外を投げておくとわかりやすいかも知れない。(本来の用途とは微妙に違う気もしますが。。。)