checked (C# リファレンス)
更新 : 2007 年 11 月
checked キーワードは、整数型の算術演算および変換に対してオーバーフロー チェックを明示的に有効にするために使用します。
既定では、式が変換先の型の範囲外にある値を生成した場合、定数式はコンパイル時エラーを発生させ、非定数式は実行時に評価されて例外を発生させます。ただし、checked キーワードを使用すると、コンパイラ オプションまたは環境設定によりチェックがグローバルに抑制されている場合に、チェックを有効にできます。
unchecked キーワードの使用方法については、「unchecked (C# リファレンス)」の例を参照してください。
使用例
次の例では、非定数式に対する checked の使い方を示します。オーバーフローは実行時に報告されます。
class OverFlowTest
{
static short x = 32767; // Max short value
static short y = 32767;
// Using a checked expression
static int CheckedMethod()
{
int z = 0;
try
{
z = checked((short)(x + y));
}
catch (System.OverflowException e)
{
Console.WriteLine(e.ToString());
}
return z;
}
static void Main()
{
Console.WriteLine("Checked output value is: {0}",
CheckedMethod());
}
}
/*
Output:
System.OverflowException: Arithmetic operation resulted in an overflow.
at OverFlowTest.CheckedMethod()
Checked output value is: 0
*/
C# 言語仕様
詳細については、「C# 言語仕様」の次のセクションを参照してください。
5.3.3.2 ブロック ステートメント、checked ステートメント、および unchecked ステートメント
7.5.12 checked 演算子と unchecked 演算子
8.11 checked ステートメントと unchecked ステートメント