Lire en anglais

Partager via


OverflowException Classe

Définition

L’exception levée lorsqu’une opération arithmétique, de cast ou de conversion dans un contexte vérifié entraîne un dépassement de capacité.

C#
public class OverflowException : ArithmeticException
C#
[System.Serializable]
public class OverflowException : ArithmeticException
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class OverflowException : ArithmeticException
Héritage
Héritage
Attributs

Remarques

Une OverflowException est levée au moment de l’exécution dans les conditions suivantes :

  • Une opération arithmétique produit un résultat qui se trouve en dehors de la plage du type de données retourné par l’opération. L’exemple suivant illustre la OverflowException levée par une opération de multiplication qui dépasse les limites du type Int32.

    C#
    int value = 780000000;
    checked {
    try {
       // Square the original value.
       int square = value * value;
       Console.WriteLine("{0} ^ 2 = {1}", value, square);
    }
    catch (OverflowException) {
       double square = Math.Pow(value, 2);
       Console.WriteLine("Exception: {0} > {1:E}.",
                         square, Int32.MaxValue);
    } }
    // The example displays the following output:
    //       Exception: 6.084E+17 > 2.147484E+009.
    
  • Une opération de conversion ou de conversion tente d’effectuer une conversion étroite, et la valeur du type de données source est en dehors de la plage du type de données cible. L’exemple suivant illustre la OverflowException levée par la tentative de conversion d’une valeur d’octet non signée volumineuse en valeur d’octet signé.

    C#
    byte value = 241;
    checked {
    try {
       sbyte newValue = (sbyte) value;
       Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                         value.GetType().Name, value,
                         newValue.GetType().Name, newValue);
    }
    catch (OverflowException) {
       Console.WriteLine("Exception: {0} > {1}.", value, SByte.MaxValue);
    } }
    // The example displays the following output:
    //       Exception: 241 > 127.
    

Dans chaque cas, le résultat de l’opération est une valeur inférieure à la propriété MinValue ou supérieure à la propriété MaxValue du type de données qui résulte de l’opération.

Pour que l’opération arithmétique, de conversion ou de conversion lève une OverflowException, l’opération doit se produire dans un contexte vérifié. Par défaut, les opérations arithmétiques et les dépassements de capacité en Visual Basic sont vérifiés ; en C# et F#, ce n’est pas le cas. Si l’opération se produit dans un contexte non vérifié, le résultat est tronqué en ignorant les bits de commande élevé qui ne correspondent pas au type de destination. L’exemple suivant illustre une conversion non vérifiée en C# ou F#. Il répète l’exemple précédent dans un contexte non vérifié.

C#
byte value = 241;
try {
   sbyte newValue = (sbyte) value;
   Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                     value.GetType().Name, value,
                     newValue.GetType().Name, newValue);
}
catch (OverflowException) {
   Console.WriteLine("Exception: {0} > {1}.", value, SByte.MaxValue);
}
// The example displays the following output:
//       Converted the Byte value 241 to the SByte value -15.

Les instructions MSIL (Microsoft Intermediate Language) suivantes lèvent une OverflowException:

  • add.ovf. < > signé

  • conv.ovf. <de taper>

  • conv.ovf. <de taper>.un

  • mul.ovf. <type>

  • sub.ovf. <type>

  • newarr

OverflowException utilise le COR_E_OVERFLOW HRESULT, qui a la valeur 0x80131516.

Pour obtenir la liste des valeurs de propriété initiales d’une instance de OverflowException, consultez les constructeurs OverflowException.

Constructeurs

OverflowException()

Initialise une nouvelle instance de la classe OverflowException.

OverflowException(SerializationInfo, StreamingContext)
Obsolète.

Initialise une nouvelle instance de la classe OverflowException avec des données sérialisées.

OverflowException(String)

Initialise une nouvelle instance de la classe OverflowException avec un message d’erreur spécifié.

OverflowException(String, Exception)

Initialise une nouvelle instance de la classe OverflowException avec un message d’erreur spécifié et une référence à l’exception interne qui est la cause de cette exception.

Propriétés

Data

Obtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l’utilisateur sur l’exception.

(Hérité de Exception)
HelpLink

Obtient ou définit un lien vers le fichier d’aide associé à cette exception.

(Hérité de Exception)
HResult

Obtient ou définit HRESULT, valeur numérique codée affectée à une exception spécifique.

(Hérité de Exception)
InnerException

Obtient l’instance Exception qui a provoqué l’exception actuelle.

(Hérité de Exception)
Message

Obtient un message qui décrit l’exception actuelle.

(Hérité de Exception)
Source

Obtient ou définit le nom de l’application ou de l’objet qui provoque l’erreur.

(Hérité de Exception)
StackTrace

Obtient une représentation sous forme de chaîne des images immédiates sur la pile des appels.

(Hérité de Exception)
TargetSite

Obtient la méthode qui lève l’exception actuelle.

(Hérité de Exception)

Méthodes

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetBaseException()

En cas de substitution dans une classe dérivée, retourne la Exception qui est la cause racine d’une ou plusieurs exceptions ultérieures.

(Hérité de Exception)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsolète.

En cas de substitution dans une classe dérivée, définit l'SerializationInfo avec des informations sur l’exception.

(Hérité de Exception)
GetType()

Obtient le type d’exécution de l’instance actuelle.

(Hérité de Exception)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Crée et retourne une représentation sous forme de chaîne de l’exception actuelle.

(Hérité de Exception)

Événements

SerializeObjectState
Obsolète.

Se produit lorsqu’une exception est sérialisée pour créer un objet d’état d’exception qui contient des données sérialisées sur l’exception.

(Hérité de Exception)

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Voir aussi