Číst v angličtině

Sdílet prostřednictvím


OverflowException Třída

Definice

Výjimka, která se vyvolá při aritmetické, přetypování nebo převodní operaci v kontrolovaném kontextu vede k přetečení.

C#
public class OverflowException : ArithmeticException
C#
[System.Serializable]
public class OverflowException : ArithmeticException
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class OverflowException : ArithmeticException
Dědičnost
Dědičnost
Atributy

Poznámky

OverflowException je vyvolán za běhu za následujících podmínek:

  • Aritmetická operace vytvoří výsledek, který je mimo rozsah datového typu vráceného operací. Následující příklad znázorňuje OverflowException, který je vyvolán operací násobení, která přeteče hranice Int32 typu.

    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.
    
  • 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. Následující příklad ukazuje OverflowException, který je vyvolán pokusem o převod velké nepodepsané bajtové hodnoty na podepsanou bajtovou hodnotu.

    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.
    

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

Aby operace aritmetika, přetypování nebo převodu vyvolat OverflowException, musí k operaci dojít v kontrolovaném kontextu. Ve výchozím nastavení jsou zaškrtnuty aritmetické operace a přetečení v jazyce Visual Basic; v jazyce C# a F# nejsou. Pokud k operaci dojde v nezaškrtnutém kontextu, výsledek se zkrátí tak, že zahodí všechny bity s vysokým pořadím, které se nevejdou do cílového typu. Následující příklad znázorňuje takový nezaškrtnutý převod v jazyce C# nebo F#. Předchozí příklad se opakuje v nezaškrtnutém kontextu.

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.

Následující pokyny jazyka MSIL (Microsoft Intermediate Language) vyvolá OverflowException:

  • add.ovf. <podepsaných>

  • conv.ovf. <zadat>

  • conv.ovf. <zadat>.un

  • typ mul.ovf.<>

  • typ sub.ovf.<>

  • newarr

OverflowException používá COR_E_OVERFLOW HRESULT, který má hodnotu 0x80131516.

Seznam počátečních hodnot vlastností pro instanci OverflowExceptionnaleznete v OverflowException konstruktory.

Konstruktory

OverflowException()

Inicializuje novou instanci OverflowException třídy.

OverflowException(SerializationInfo, StreamingContext)
Zastaralé.

Inicializuje novou instanci třídy OverflowException serializovanými daty.

OverflowException(String)

Inicializuje novou instanci třídy OverflowException se zadanou chybovou zprávou.

OverflowException(String, Exception)

Inicializuje novou instanci OverflowException třídy se zadanou chybovou zprávou a odkazem na vnitřní výjimku, která je příčinou této výjimky.

Vlastnosti

Data

Získá kolekci párů klíč/hodnota, které poskytují další uživatelem definované informace o výjimce.

(Zděděno od Exception)
HelpLink

Získá nebo nastaví odkaz na soubor nápovědy přidružený k této výjimce.

(Zděděno od Exception)
HResult

Získá nebo nastaví HRESULT, kódovanou číselnou hodnotu, která je přiřazena ke konkrétní výjimce.

(Zděděno od Exception)
InnerException

Získá Exception instanci, která způsobila aktuální výjimku.

(Zděděno od Exception)
Message

Získá zprávu, která popisuje aktuální výjimku.

(Zděděno od Exception)
Source

Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu.

(Zděděno od Exception)
StackTrace

Získá řetězcové znázornění okamžitých rámců v zásobníku volání.

(Zděděno od Exception)
TargetSite

Získá metodu, která vyvolá aktuální výjimku.

(Zděděno od Exception)

Metody

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(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.

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

Slouží jako výchozí funkce hash.

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

Při přepsání v odvozené třídě nastaví SerializationInfo s informacemi o výjimce.

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

Získá typ modulu runtime aktuální instance.

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

Vytvoří mělkou kopii aktuálního Object.

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

Vytvoří a vrátí řetězcovou reprezentaci aktuální výjimky.

(Zděděno od Exception)

Událost

SerializeObjectState
Zastaralé.

Nastane, když je výjimka serializována vytvořit objekt stavu výjimky, který obsahuje serializovaná data o výjimce.

(Zděděno od Exception)

Platí pro

Produkt Verze
.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

Viz také