C#で使えそうなExceptionの一覧

C# コンピュータ
C#

既存のExcepitonクラスでユーザープログラムで使えそうなExceptionクラスをピックアップしてみました。

使えそうな一覧

ArgumentException
メソッドの引数が無効の値のようです。
ArgumentOutOfRangeException
メソッドの引数が教養範囲外の値のようです。
FileNotFoundException
存在しないファイルにアクセスしたようです。
DirectoryNotFoundException
ディレクトリが存在しないようです
IndexOutOfRangeException
配列又はコレクションで、範囲外のインデックスの要素にアクセスしたようです。
InvalidOperationException
許可されない操作をしたようです。(読み取り専用ファイルに書き込み、既に閉じられたハンドルを閉じる)
OverflowException
オーバーフローしたようです。
RankException
配列の次元数が誤っているとおもわれます。
OutOfMemoryException
メモリが不足しているようです。
DivideByZeroException
整数値をゼロで除算したようです
TimeoutException
タイムアウトが発生したようです
FormatException
不正な文字列(書式など)
KeyNotFoundException
コレクションにキーが存在しないようです
NotImplementedException
要求されたメソッドは未実装なようです

ユーザーが定義するExeption

既存のExcepitonで満足できない場合、System.Exceptionクラスを継承してユーザー定義のExcepitonクラスを作りましょう。
(多分こちらが普通)

public class MyException : Exception
{
   public MyException(String message) : base (message)
   {}

   public MyException(String message, Exception inner) : base(message,inner) {}
}

MyException(String message, Exception inner)はメソッド内で発生したシステム例外などをcatchしMyExceptionに変換して再度throwする場合catchしたExeptionオブジェクトを引数にすることで、例外の発生原因を特定しやすくします。

コメント