C〓〓中の異常処理


異常処理とjavaの文法は同じです。まず、中で使う異常類について説明します。これらの異常類は私達javaプログラミングの時もよく見られます。
OverflowException:演算、タイプ変換または変換操作によりオーバーフローが発生する異常。
try
{
    checked         //  checked   
    {
        int i1; int i2; int num;
        i1 = 5000000; i2 = 5000000;
        num = i1 * i2;
    }
}
catch (OverflowException)
{
    Console.WriteLine("  OverflowException  ");
}
******checkedキーワードはずっと調べています。オーバーフローを調べたら異常を捕まえます。
DivideByZero Exception:除数が0の発生異常;
FormatException:入力されたフォーマットが仕様に合わない場合に発生する異常。
ArthmeticException:演算中に発生する異常。
IndexOutOfRangeException:0以下または配列限界を超えた座標を使用した場合に発生する異常。
Null ReferenceExcption:参照対象が必要な時にnullに引用した時に発生する異常。
一番下の二つの異常はよくjavaプログラムを書く時に見られます。
私が読んでいる本にはカスタム異常出力の例があります。異常処理については簡単に書かれているような気がします。
class Sec
{
    public int myint(string a, string b)
    {
        int int1, int2, num;
        try
        {
            int1 = int.Parse(a);
            int2 = int.Parse(b);
            if (int2 == 0)
            {
                throw new DivideByZeroException();//     0    
            }
            num = int1 / int2;
            return num;
        }
        catch (DivideByZeroException de)//    
        {
            Console.WriteLine("         !");
            Console.WriteLine(de.Message);
            return 0;
        }
    }
    static void Main1(string[] args)
    {
        try
        {
            Console.WriteLine("     :");
            string str1 = Console.ReadLine();
            Console.WriteLine("     :");
            string str2 = Console.ReadLine();
            Sec sec = new Sec();
            Console.WriteLine("      :" + sec.myint(str1, str2));
        }
        catch (FormatException)
        {
            Console.WriteLine("         ");
        }
    }
}