OverflowException OverflowException OverflowException OverflowException Class

Definizione

Eccezione avviata quando un'operazione aritmetica, di cast o di conversione in un contesto verificato ha come risultato un overflow.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
Ereditarietà
Attributi

Commenti

Un OverflowException viene generata un'eccezione in fase di esecuzione nelle condizioni seguenti:An OverflowException is thrown at run time under the following conditions:

  • Un'operazione aritmetica produce un risultato che non rientra nell'intervallo del tipo di dati restituito dall'operazione.An arithmetic operation produces a result that is outside the range of the data type returned by the operation. Nell'esempio seguente viene illustrato il OverflowException che viene generata da un'operazione di moltiplicazione che superano i limiti del Int32 tipo.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.
    
  • Un'operazione di cast o conversione tenta di eseguire una conversione di narrowing e il valore del tipo di dati di origine è compreso nell'intervallo del tipo di dati di destinazione.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. Nell'esempio seguente viene illustrato il OverflowException che viene generata dal tentativo di convertire un valore di grandi dimensioni byte senza segno in un valore di byte con segno.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 ogni caso, il risultato dell'operazione è un valore che è inferiore al MinValue proprietà o maggiore di MaxValue proprietà del tipo di dati risultante dall'operazione.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.

Per l'operazione aritmetica di cast o conversione generare un OverflowException, l'operazione deve verificarsi in un contesto controllato.For the arithmetic, casting, or conversion operation to throw an OverflowException, the operation must occur in a checked context. Per impostazione predefinita, vengono controllati gli overflow in Visual Basic e le operazioni aritmetiche; in C#, non lo siano.By default, arithmetic operations and overflows in Visual Basic are checked; in C#, they are not. Se l'operazione viene eseguita in un contesto non verificato, il risultato viene troncato eliminando qualsiasi bit più significativi che non rientrano nel tipo di destinazione.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. Nell'esempio seguente viene illustrata tale conversione non controllata nel linguaggio C#.The following example illustrates such an unchecked conversion in C#. Ripete l'esempio precedente in un contesto non verificato.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.

Microsoft seguenti istruzioni intermediate language (MSIL) generano un OverflowException:The following Microsoft intermediate language (MSIL) instructions throw an OverflowException:

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

  • conv.ovf. <al tipo >conv.ovf. <to type>

  • conv.ovf. <al tipo > .unconv.ovf. <to type> .un

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

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

  • newarr

OverflowException utilizza COR_E_OVERFLOW HRESULT, che ha il valore 0x80131516.OverflowException uses the HRESULT COR_E_OVERFLOW, which has the value 0x80131516.

Per un elenco di valori di proprietà iniziali per un'istanza di OverflowException, vedere il OverflowException costruttori.For a list of initial property values for an instance of OverflowException, see the OverflowException constructors.

Costruttori

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

Inizializza una nuova istanza della classe OverflowException.Initializes a new instance of the OverflowException class.

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

Inizializza una nuova istanza della classe OverflowException con dati serializzati.Initializes a new instance of the OverflowException class with serialized data.

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

Inizializza una nuova istanza della classe OverflowException con un messaggio di errore specificato.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)

Inizializza una nuova istanza della classe OverflowException con un messaggio di errore specificato e un riferimento all'eccezione interna che è la causa dell'eccezione corrente.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.

Proprietà

Data Data Data Data

Ottiene una raccolta di coppie chiave-valore che fornisce informazioni aggiuntive definite dall'utente relative all'eccezione.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

Ottiene o imposta un collegamento al file della Guida associato all'eccezione.Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato a un'eccezione specifica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

Ottiene l'istanza di Exception che ha causato l'eccezione corrente.Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

Ottiene un messaggio che descrive l'eccezione corrente.Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

Ottiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore.Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

Ottiene una rappresentazione di stringa dei frame immediati nello stack di chiamate.Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

Ottiene il metodo che genera l'eccezione corrente.Gets the method that throws the current exception.

(Inherited from Exception)

Metodi

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

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

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

Se utilizzato come metodo di override in una classe derivata, restituisce l'Exception che è la causa radice di una o più eccezioni successive.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()

Funge da funzione hash predefinita.Serves as the default hash function.

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

Quando l'override viene eseguito in una classe derivata, imposta il controllo SerializationInfo per la colonna.When overridden in a derived class, sets the SerializationInfo with information about the exception.

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

Ottiene il tipo di runtime dell'istanza corrente.Gets the runtime type of the current instance.

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

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Crea e restituisce una rappresentazione di stringa dell'eccezione corrente.Creates and returns a string representation of the current exception.

(Inherited from Exception)

Eventi

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Si applica a

Vedi anche