2009年12月5日土曜日

catchブロック内から例外を再びスローしてみる。

using System;

class MainClass
{
    // catchブロックで例外をスローするメソッド
    static void ExceptionMethod()
    {
        try
        {
            int a = 1;
            int b = 0;
            // ゼロ除算例外発生
            a /= b;
        }
        catch (Exception)
        {
            // ゼロ除算をキャッチ
            Console.WriteLine("最初の補足");
            // 例外を再スロー
            throw new DivideByZeroException();
        }
    }
    static void Main()
    {
        try
        {
            // 例外がスローされるメソッドの呼び出し
            ExceptionMethod();
        }
        // 全ての例外の捕捉
        catch (Exception error)
        {
            Console.WriteLine("全てを捕捉");
            Console.WriteLine(error.Message);
        }
    }
}

0 コメント:

コメントを投稿