例外処理
例外処理
例外処理
プログラムがある処理を実行している途中で、なんらかの異常が発生した場合に、現在の処理を中断(中止)して、別の処理を行うこと。
try~catch構文で行います。
例)
try
{
int a = int.Parse(Console.Read());
}
catch(FormatException)
{
Console.WriteLine("おわり");
}
Console.WriteLine("値は"+ a + "です。");
上記のプログラムは数値が入力された場合はcatchの処理は行わず、値を表示するWriteLineの処理に移行します。
tryで囲まれたint aに数値が入力されなかった場合(文字列等が入力された場合)、Catchの中の処理を返します(※この場合、"おわり"がコンソール上に表示されプログラムは終了します)。
その際、catch後の値を表示するWriteLineは処理されません。
catchの中のFormatExceptionはExeptionだけでも例外処理は通りますが、
いわゆる汎化と呼ばれるもので、各例外を全て例外処理としてみなしてしまいます。
よってExeptionを指定する特化(FormatExeption,DivideByZeroException等)の方式でcatch内を記述する必要があります。