OverflowException Třída

Definice

Výjimka, která je vyvolána, pokud výsledkem operace aritmetického zpracování, přetypování nebo převodu v kontrolovaném kontextu dojde k přetečení.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
Dědičnost
Atributy

Poznámky

Za OverflowException běhu je vyvolána za běhu za následujících podmínek:An OverflowException is thrown at run time under the following conditions:

  • Aritmetická operace vytvoří výsledek, který je mimo rozsah datového typu vráceného operací.An arithmetic operation produces a result that is outside the range of the data type returned by the operation. Následující příklad ilustruje OverflowException vyvolání operace násobení, která přetéká hranice Int32 typu.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.
    
  • Operace přetypování nebo převodu se pokusí provést zužující převod a hodnota zdrojového datového typu je mimo rozsah cílového datového typu.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. Následující příklad ukazuje OverflowException , který je vyvolán pokusem o převod vysoké hodnoty nepodepsaných bajtů na hodnotu se znaménkem.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.
    

V každém případě je výsledkem operace hodnota, která je menší než MinValue vlastnost nebo větší MaxValue než vlastnost datového typu, který je výsledkem operace.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.

Aby operace aritmetického, přetypování nebo převodu vyvolala OverflowException, musí být operace provedena v kontrolovaném kontextu.For the arithmetic, casting, or conversion operation to throw an OverflowException, the operation must occur in a checked context. Ve výchozím nastavení jsou kontrolovány aritmetické operace a přetečení v Visual Basic. v C#nástroji nejsou.By default, arithmetic operations and overflows in Visual Basic are checked; in C#, they are not. Pokud k operaci dojde v nekontrolovaném kontextu, výsledek je zkrácen tak, že zahodí jakékoli bity s vysokým pořadím, které se nevejdou do cílového typu.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. Následující příklad znázorňuje takový nekontrolující převod v C#.The following example illustrates such an unchecked conversion in C#. Opakuje předchozí příklad v nekontrolovaném kontextu.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.

Následující pokyny pro jazyk MSIL (Microsoft Intermediate Language) vyvolávají OverflowException:The following Microsoft intermediate language (MSIL) instructions throw an OverflowException:

  • add.ovf. podepsané<>add.ovf. <signed>

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

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

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

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

  • newarr

OverflowExceptionpoužívá HRESULT COR_E_OVERFLOW, který má hodnotu 0x80131516.OverflowException uses the HRESULT COR_E_OVERFLOW, which has the value 0x80131516.

Seznam počáteční hodnoty vlastností pro instanci OverflowException, najdete v článku OverflowException konstruktory.For a list of initial property values for an instance of OverflowException, see the OverflowException constructors.

Konstruktory

OverflowException()

Inicializuje novou instanci třídy OverflowException třídy.Initializes a new instance of the OverflowException class.

OverflowException(SerializationInfo, StreamingContext)

Inicializuje novou instanci třídy OverflowException třídy se serializovanými daty.Initializes a new instance of the OverflowException class with serialized data.

OverflowException(String)

Inicializuje novou instanci třídy OverflowException třídy pomocí zadané chybové zprávy.Initializes a new instance of the OverflowException class with a specified error message.

OverflowException(String, Exception)

Inicializuje novou instanci třídy OverflowException třídy pomocí zadané chybové zprávy a odkazu na vnitřní výjimku, která je příčinou této výjimky.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.

Vlastnosti

Data

Získá kolekci párů klíč/hodnota, které poskytují další uživatelsky definované informace o výjimce.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Zděděno od Exception)
HelpLink

Získá nebo nastaví odkaz na soubor s nápovědě spojený s touto výjimkou.Gets or sets a link to the help file associated with this exception.

(Zděděno od Exception)
HResult

Získá nebo nastaví hodnotu HRESULT, kódované číselné hodnoty, která je přiřazena konkrétní výjimce.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Zděděno od Exception)
InnerException

Získá instanci Exception, která způsobila aktuální výjimku.Gets the Exception instance that caused the current exception.

(Zděděno od Exception)
Message

Získá zprávu s popisem aktuální výjimky.Gets a message that describes the current exception.

(Zděděno od Exception)
Source

Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu.Gets or sets the name of the application or the object that causes the error.

(Zděděno od Exception)
StackTrace

Načte řetězcovou reprezentaci okamžitých snímků v zásobníku volání.Gets a string representation of the immediate frames on the call stack.

(Zděděno od Exception)
TargetSite

Získá metodu, která vyvolá aktuální výjimku.Gets the method that throws the current exception.

(Zděděno od Exception)

Metody

Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetBaseException()

Při přepsání v odvozené třídě vrátí Exception, který je hlavní příčinou jedné nebo více následných výjimek.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Zděděno od Exception)
GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetObjectData(SerializationInfo, StreamingContext)

Při přepsání v odvozené třídě nastaví SerializationInfo s informacemi o výjimce.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Zděděno od Exception)
GetType()

Získá typ modulu runtime aktuální instance.Gets the runtime type of the current instance.

(Zděděno od Exception)
MemberwiseClone()

Vytvoří kopii aktuálního Objectbez podstruktury.Creates a shallow copy of the current Object.

(Zděděno od Object)
ToString()

Vytvoří a vrátí řetězcovou reprezentaci aktuální výjimky.Creates and returns a string representation of the current exception.

(Zděděno od Exception)

Události

SerializeObjectState

Nastane, pokud je serializovaná výjimka pro vytvoření objektu stavu výjimky, který obsahuje Serializovaná data o výjimce.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Zděděno od Exception)

Platí pro

Viz také