Partager via


checked (Référence C#)

Mise à jour : novembre 2007

Le mot clé checked sert à activer explicitement le contrôle de dépassement pour les opérations arithmétiques de type entier et les conversions.

Par défaut, si une expression produit une valeur qui se trouve à l'extérieur de la plage de valeurs pour le type de destination, les expressions constantes entraînent des erreurs de compilation, et les expressions non constantes sont évaluées au moment de l'exécution et lèvent des exceptions. Toutefois, le mot clé checked peut être utilisé pour activer le contrôle s'il est supprimé globalement par les options du compilateur ou la configuration de l'environnement.

Consultez les exemples unchecked d'utilisation du mot clé unchecked.

Exemple

Cet exemple explique comment utiliser checked pour une expression non constante. Le dépassement de capacité est signalé au moment de l'exécution.

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

Spécification du langage C#

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 5.3.3.2 Instructions d'un bloc et instructions checked et unchecked

  • 7.5.12 Opérateurs checked et unchecked

  • 8.11 Les instructions checked et unchecked

Voir aussi

Concepts

Guide de programmation C#

Référence

Mots clés C#

Checked et Unchecked (Référence C#)

unchecked (Référence C#)

Autres ressources

Référence C#