checked (C# 參考)

更新:2007 年 11 月

checked 關鍵字是用來明確啟用整數類資料型別 (Integral Type) 算術運算和轉換的溢位檢查。

根據預設,如果運算式產生在目的型別範圍以外的值,常數運算式就會造成編譯時期錯誤,且會在執行階段評定非常數運算式,因而引發例外狀況。然而,若 checked 關鍵字是由編譯器選項或環境組態進行全域性隱藏,便可以用它來啟用檢查。

請參見使用 unchecked 關鍵字的 unchecked 範例。

範例

此範例示範如何使用非常數運算式的 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 Block 陳述式、checked 和 unchecked 陳述式

  • 7.5.12 checked 和 unchecked 運算子

  • 8.11 checked 和 unchecked 陳述式

請參閱

概念

C# 程式設計手冊

參考

C# 關鍵字

Checked 與 Unchecked (C# 參考)

unchecked (C# 參考)

其他資源

C# 參考