OverflowException Classe

Définition

Exception levée lorsqu'une opération arithmétique, de cast ou de conversion engendre un dépassement de capacité dans un contexte contrôlé.The exception that is thrown when an arithmetic, casting, or conversion operation in a checked context results in an overflow.

public ref class OverflowException : ArithmeticException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class OverflowException : ArithmeticException
type OverflowException = class
    inherit ArithmeticException
Public Class OverflowException
Inherits ArithmeticException
Héritage
Attributs

Remarques

Une OverflowException exception est levée au moment de l’exécution dans les conditions suivantes:An OverflowException is thrown at run time under the following conditions:

  • Une opération arithmétique produit un résultat qui est en dehors de la plage du type de données retourné par l’opération.An arithmetic operation produces a result that is outside the range of the data type returned by the operation. L’exemple suivant illustre l' OverflowException exception levée par une opération de multiplication qui dépasse les limites Int32 du type.The following example illustrates the OverflowException that is thrown by a multiplication operation that overflows the bounds of the Int32 type.

    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.
    
    Dim value As Integer = 780000000
    Try
       ' Square the original value.
       Dim square As Integer = value * value 
       Console.WriteLine("{0} ^ 2 = {1}", value, square)
    Catch e As OverflowException
       Dim square As Double = Math.Pow(value, 2)
       Console.WriteLine("Exception: {0} > {1:E}.", _
                         square, Int32.MaxValue)
    End Try
    ' The example displays the following output:
    '       Exception: 6.084E+17 > 2.147484E+009.
    
  • Une opération de conversion ou de cast tente d’effectuer une conversion restrictive, et la valeur du type de données source est en dehors de la plage du type de données cible.A casting or conversion operation attempts to perform a narrowing conversion, and the value of the source data type is outside the range of the target data type. L’exemple suivant illustre l' OverflowException exception levée par la tentative de conversion d’une valeur d’octet non signé de grande taille en valeur d’octet signée.The following example illustrates the OverflowException that is thrown by the attempt to convert a large unsigned byte value to a signed byte value.

    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.
    
    Dim value As Byte = 241
    Try
       Dim newValue As SByte = (CSByte(value))
       Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
                         value.GetType().Name, value, _
                         newValue.GetType().Name, newValue)
    Catch e As OverflowException
       Console.WriteLine("Exception: {0} > {1}.", value, SByte.MaxValue)
    End Try                            
    ' 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 MinValue propriété ou supérieure à la MaxValue propriété du type de données qui résulte de l’opération.In each case, the result of the operation is a value that is less than the MinValue property or greater than the MaxValue property of the data type that results from the operation.

Pour que l’opération arithmétique, de casting ou de conversion OverflowExceptionlève une, l’opération doit se produire dans un contexte vérifié.For the arithmetic, casting, or conversion operation to throw an OverflowException, the operation must occur in a checked context. Par défaut, les opérations arithmétiques et les dépassements de capacité dans Visual Basic sont vérifiés; dans C#, ils ne le sont pas.By default, arithmetic operations and overflows in Visual Basic are checked; in C#, they are not. Si l’opération se produit dans un contexte non vérifié, le résultat est tronqué en ignorant les bits de poids fort qui ne tiennent pas dans le type de destination.If the operation occurs in an unchecked context, the result is truncated by discarding any high-order bits that do not fit into the destination type. L’exemple suivant illustre cette conversion non vérifiée dans C#.The following example illustrates such an unchecked conversion in C#. Il répète l’exemple précédent dans un contexte non vérifié.It repeats the previous example in an unchecked context.

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 OverflowException:The following Microsoft intermediate language (MSIL) instructions throw an OverflowException:

  • add.ovf. <signed>add.ovf. <signed>

  • conv.ovf. pourtaper<>conv.ovf. <to type>

  • conv.ovf. pourtaper<>.unconv.ovf. <to type> .un

  • mul.ovf. <type>mul.ovf. <type>

  • sub.ovf. <type>sub.ovf. <type>

  • newarr

OverflowExceptionutilise le HRESULT COR_E_OVERFLOW, qui a la valeur 0x80131516.OverflowException uses the HRESULT COR_E_OVERFLOW, which has the value 0x80131516.

Pour obtenir la liste des valeurs initiales des propriétés d’une instance de OverflowException, consultez le OverflowException constructeurs.For a list of initial property values for an instance of OverflowException, see the OverflowException constructors.

Constructeurs

OverflowException()

Initialise une nouvelle instance de la classe OverflowException.Initializes a new instance of the OverflowException class.

OverflowException(SerializationInfo, StreamingContext)

Initialise une nouvelle instance de la classe OverflowException avec des données sérialisées.Initializes a new instance of the OverflowException class with serialized data.

OverflowException(String)

Initialise une nouvelle instance de la classe OverflowException avec un message d'erreur spécifié.Initializes a new instance of the OverflowException class with a specified error message.

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 ayant provoqué cette exception.Initializes a new instance of the OverflowException class with a specified error message and a reference to the inner exception that is the cause of this 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.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Hérité de Exception)
HelpLink

Obtient ou définit un lien vers le fichier d'aide associé à cette exception.Gets or sets a link to the help file associated with this exception.

(Hérité de Exception)
HResult

Obtient ou définit HRESULT, valeur numérique codée qui est assignée à une exception spécifique.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Hérité de Exception)
InnerException

Obtient l'instance Exception qui a provoqué l'exception actuelle.Gets the Exception instance that caused the current exception.

(Hérité de Exception)
Message

Obtient un message qui décrit l'exception actuelle.Gets a message that describes the current exception.

(Hérité de Exception)
Source

Obtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur.Gets or sets the name of the application or the object that causes the error.

(Hérité de Exception)
StackTrace

Obtient une représentation sous forme de chaîne des frames immédiats sur la pile des appels.Gets a string representation of the immediate frames on the call stack.

(Hérité de Exception)
TargetSite

Obtient la méthode qui lève l'exception actuelle.Gets the method that throws the current exception.

(Hérité de Exception)

Méthodes

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetBaseException()

En cas de substitution dans une classe dérivée, retourne la Exception qui est à l'origine d'une ou de plusieurs exceptions ultérieures.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Hérité de Exception)
GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetObjectData(SerializationInfo, StreamingContext)

En cas de substitution dans une classe dérivée, définit SerializationInfo avec des informations sur l'exception.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Hérité de Exception)
GetType()

Obtient le type au moment de l'exécution de l'instance actuelle.Gets the runtime type of the current instance.

(Hérité de Exception)
MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ToString()

Crée et retourne une chaîne représentant l'exception actuelle.Creates and returns a string representation of the current exception.

(Hérité de Exception)

Événements

SerializeObjectState

Se produit quand une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées concernant l'exception.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Hérité de Exception)

S’applique à

Voir aussi