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 ステートメント

参照

概念

C# プログラミング ガイド

参照

C# のキーワード

チェックありとチェックなし (C# リファレンス)

unchecked (C# リファレンス)

その他の技術情報

C# リファレンス