C# 入門 & 実践 / C sharp
4-23. 例外処理 - 1 - try catch finally
1.基本的な例外処理の使い方です。
class MyException
{
public void Test()
{
Console.WriteLine("Test() : メソッドが呼ばれました。");
// エラーをスローします!
throw new System.Exception("エラーが出たよ");
}
static void Main()
{
try
{
MyException me = new MyException();
Console.WriteLine("try : メソッドを呼び出します。");
// エラーをスローさせます。
me.Test();
Console.WriteLine("try : メソッドは無事終了しました。");
}
catch
{
Console.WriteLine("catch : エラーがスローされたようです。");
}
finally
{
Console.WriteLine("finally : try catch の全ての処理後に呼ばれます。");
}
}
}
try : メソッドを呼び出します。
Test() : メソッドが呼ばれました。
catch : エラーがスローされたようです。
finally : try catch の全ての処理後に呼ばれます。
このように try の途中メソッドを呼び出したところで処理が止まり
# Console.WriteLine("try : メソッドは無事終了しました。");
この行は出力されません。
catch finally へと処理が続きます。
2.例外のオブジェクトを使用してみます。
public void Test()
{
Console.WriteLine("Test() : メソッドが呼ばれました。");
// エラーをスローします!
// 既に新しいオブジェクトをスローしています。
throw new System.Exception("エラーが出たよ");
}
static void Main()
{
try
{
MyException me = new MyException();
Console.WriteLine("try : メソッドを呼び出します。");
// エラーをスローさせます。
me.Test();
Console.WriteLine("try : メソッドは無事終了しました。");
}
catch( Exception e )
{
// Exception は全ての例外をキャッチします!
Console.WriteLine("catch( Exception e) : エラーがスローされた.");
Console.WriteLine("catch( Exception e) : {0}" , e.Message );
}
finally
{
Console.WriteLine("finally : try catch の全ての処理後に呼ばれます。");
}
}
try : メソッドを呼び出します。
Test() : メソッドが呼ばれました。
catch( Exception e) : エラーがスローされた.
catch( Exception e) : エラーが出たよ
finally : try catch の全ての処理後に呼ばれます。
Exception e を利用してスローされたエラーのメッセージを表示できました。
}
catch( Exception e )
{
はすべての例外をキャッチするので、
}
catch
{
は必要なくなります。
4-22. 正規表現 / RegularExpressions - 4 - 置換 Replace / MatchEvaluator «
4. C# 入門 Level 2 »
4-24. 例外処理 - 2 - 独自の例外オブジェクトを作る。
C# 入門 & 実践 / C sharp