OverflowException OverflowException OverflowException OverflowException Class

Definition

Die Ausnahme, die ausgelöst wird, wenn eine arithmetische, Umwandlungs- oder Konvertierungsoperation in einem geprüften Kontext einen Überlauf verursacht.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
Vererbung
Attribute

Hinweise

Eine OverflowException wird zur Laufzeit unter den folgenden Bedingungen ausgelöst:An OverflowException is thrown at run time under the following conditions:

  • Eine arithmetische Operation erzeugt ein Ergebnis, das außerhalb des Bereichs des Datentyps liegt, der vom Vorgang zurückgegeben wird.An arithmetic operation produces a result that is outside the range of the data type returned by the operation. Das folgende Beispiel veranschaulicht das OverflowException , das von einem Multiplikations Vorgang ausgelöst wird, der die Begrenzungen Int32 des Typs überschreitet.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.
    
  • Ein Umwandlungs-oder Konvertierungs Vorgang versucht, eine einschränkende Konvertierung durchzuführen, und der Wert des Quell Datentyps liegt außerhalb des Bereichs des Ziel Datentyps.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. Das folgende Beispiel veranschaulicht das OverflowException , das durch den Versuch ausgelöst wird, einen großen, nicht signierten Bytewert in einen Byte-Wert mit Vorzeichen zu konvertieren.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.
    

In jedem Fall ist das Ergebnis des Vorgangs ein Wert, der kleiner als die MinValue -Eigenschaft oder größer als die MaxValue -Eigenschaft des Datentyps ist, der sich aus dem Vorgang ergibt.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.

Damit der arithmetische, Umwandlungs-oder Konvertierungs Vorgang OverflowExceptioneine auslöst, muss der Vorgang in einem überprüften Kontext erfolgen.For the arithmetic, casting, or conversion operation to throw an OverflowException, the operation must occur in a checked context. Standardmäßig werden arithmetische Vorgänge und über Flüsse in Visual Basic geprüft. in C#ist dies nicht der Fall.By default, arithmetic operations and overflows in Visual Basic are checked; in C#, they are not. Wenn der Vorgang in einem nicht überprüften Kontext auftritt, wird das Ergebnis abgeschnitten, indem alle höherwertigen Bits verworfen werden, die nicht in den Zieltyp passen.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. Das folgende Beispiel veranschaulicht eine solche nicht überprüfte C#Konvertierung in.The following example illustrates such an unchecked conversion in C#. Das vorherige Beispiel wird in einem nicht überprüften Kontext wiederholt.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.

Die folgenden MSIL-Anweisungen (Microsoft Intermediate Language) lösen OverflowExceptioneine aus:The following Microsoft intermediate language (MSIL) instructions throw an OverflowException:

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

  • conv.ovf.So geben Sie > ein <conv.ovf. <to type>

  • conv.ovf.So geben Sie > ein <.unconv.ovf. <to type> .un

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

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

  • newarr

OverflowExceptionverwendet das HRESULT-COR_E_OVERFLOW, das den Wert 0x80131516 aufweist.OverflowException uses the HRESULT COR_E_OVERFLOW, which has the value 0x80131516.

Eine Liste der anfänglichen Eigenschaftswerte für eine Instanz von OverflowException, finden Sie unter den OverflowException Konstruktoren.For a list of initial property values for an instance of OverflowException, see the OverflowException constructors.

Konstruktoren

OverflowException() OverflowException() OverflowException() OverflowException()

Initialisiert eine neue Instanz der OverflowException-Klasse.Initializes a new instance of the OverflowException class.

OverflowException(SerializationInfo, StreamingContext) OverflowException(SerializationInfo, StreamingContext) OverflowException(SerializationInfo, StreamingContext) OverflowException(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der OverflowException-Klasse mit serialisierten Daten.Initializes a new instance of the OverflowException class with serialized data.

OverflowException(String) OverflowException(String) OverflowException(String) OverflowException(String)

Initialisiert eine neue Instanz der OverflowException-Klasse mit einer angegebenen Fehlermeldung.Initializes a new instance of the OverflowException class with a specified error message.

OverflowException(String, Exception) OverflowException(String, Exception) OverflowException(String, Exception) OverflowException(String, Exception)

Initialisiert eine neue Instanz der OverflowException-Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat.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.

Eigenschaften

Data Data Data Data

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen über die Ausnahme bereitstellen.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat.Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

Ruft eine Meldung ab, die die aktuelle Ausnahme beschreibt.Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab.Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.Gets the method that throws the current exception.

(Inherited from Exception)

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die ursprüngliche Ursache für eine oder mehrere nachfolgende Ausnahmen ist.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Legt beim Überschreiben in einer abgeleiteten Klasse die SerializationInfo mit Informationen über die Ausnahme fest.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Inherited from Exception)
GetType() GetType() GetType() GetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück.Creates and returns a string representation of the current exception.

(Inherited from Exception)

Ereignisse

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt mit serialisierten Daten über die Ausnahme zu erstellen.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Gilt für:

Siehe auch