checked (Referencia de C#)

Actualización: noviembre 2007

La palabra clave checked se utiliza con el fin de habilitar explícitamente la comprobación de desbordamiento para operaciones aritméticas y conversiones de tipo integral.

De forma predeterminada, si una expresión genera un valor que está fuera del intervalo del tipo de destino, las expresiones constantes producen errores en tiempo de compilación y las expresiones no constantes se evalúan en tiempo de ejecución y producen excepciones. Sin embargo, la palabra clave checked se puede utilizar para habilitar la comprobación si las opciones del compilador o configuración del entorno la suprimen globalmente.

Vea los ejemplos de unchecked en los ejemplos de uso de la palabra clave unchecked.

Ejemplo

Este ejemplo muestra cómo utilizar checked para una expresión no constante. El desbordamiento se notifica en tiempo de ejecución.

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
 */

Especificación del lenguaje C#

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.

  • 5.3.3.2 Instrucciones de bloques e instrucciones checked y unchecked

  • 7.5.12 Los operadores checked y unchecked

  • 8.11 Las instrucciones checked y unchecked

Vea también

Conceptos

Guía de programación de C#

Referencia

Palabras clave de C#

Checked y Unchecked (Referencia de C#)

unchecked (Referencia de C#)

Otros recursos

Referencia de C#