C〓〓中の異常処理
異常処理とjavaの文法は同じです。まず、中で使う異常類について説明します。これらの異常類は私達javaプログラミングの時もよく見られます。
OverflowException:演算、タイプ変換または変換操作によりオーバーフローが発生する異常。
DivideByZero Exception:除数が0の発生異常;
FormatException:入力されたフォーマットが仕様に合わない場合に発生する異常。
ArthmeticException:演算中に発生する異常。
IndexOutOfRangeException:0以下または配列限界を超えた座標を使用した場合に発生する異常。
Null ReferenceExcption:参照対象が必要な時にnullに引用した時に発生する異常。
一番下の二つの異常はよく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(" ");
}
}
}