チェックされたブロックは、オーバーフローが発生した場合に例外がスローされることを確認するために使用されます。たとえば、チェックされたブロックで呼び出されたメソッドでオーバーフロー例外が発生しない
以下のコードは、オーバーフロー例外をスローします。
checked
{
int a = 123456;
int b = 123456;
Console.WriteLine(a * b);
}
しかし、私がチェックブロック内でメソッドを呼び出し、ひいては方法は、オーバーフロー例外をスローして、コードを持っている場合は、確認ブロックはそれを検出していないようです。これらも同様に検出できますか?
checked
{
int a = 123456;
int b = 123456;
Console.WriteLine(Mul(a, b));
}
public int Mul(int a, int b)
{
return a * b;
}