OverflowException Sınıf

Tanım

Denetlenen bir bağlamda aritmetik, atama veya dönüştürme işlemi bir taşma ile sonuçlanırsa oluşan özel durum.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
public class OverflowException : ArithmeticException
[System.Serializable]
public class OverflowException : ArithmeticException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class OverflowException : ArithmeticException
type OverflowException = class
    inherit ArithmeticException
Public Class OverflowException
Inherits ArithmeticException
Devralma
Devralma
Öznitelikler

Açıklamalar

Aşağıdaki koşullarda çalışma zamanında bir OverflowException oluşturulur:An OverflowException is thrown at run time under the following conditions:

  • Aritmetik işlem, işlem tarafından döndürülen veri türü aralığının dışında bir sonuç üretir.An arithmetic operation produces a result that is outside the range of the data type returned by the operation. Aşağıdaki örnekte, Int32 türünün sınırlarının dışına taşan bir çarpma işlemi tarafından oluşturulan OverflowException gösterilmektedir.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.
    
  • Bir atama veya dönüştürme işlemi bir daraltma dönüştürmesi gerçekleştirmeye çalışır ve kaynak veri türünün değeri hedef veri türü aralığının dışındadır.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. Aşağıdaki örnekte, büyük bir işaretsiz bayt değerini imzalı bir bayt değerine dönüştürme girişimi tarafından oluşturulan OverflowException gösterilmektedir.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.
    

Her durumda, işlemin sonucu MinValue özelliğinden küçük veya işlemden kaynaklanan veri türünün MaxValue özelliğinden daha büyük bir değerdir.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.

Aritmetik, atama veya dönüştürme işleminin bir OverflowExceptionoluşturması için, işlem işaretli bir bağlamda gerçekleşmelidir.For the arithmetic, casting, or conversion operation to throw an OverflowException, the operation must occur in a checked context. Varsayılan olarak, aritmetik işlemler ve Visual Basic taşmalar denetlenir; ' C#de, bunlar değildir.By default, arithmetic operations and overflows in Visual Basic are checked; in C#, they are not. İşlem denetlenmemiş bir bağlamda gerçekleşirse, hedef türüne sığmayan yüksek sıralı bitleri atarak sonuç kesilir.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. Aşağıdaki örnekte, içinde C#denetlenmeyen bir dönüştürme gösterilmektedir.The following example illustrates such an unchecked conversion in C#. Önceki örneği işaretlenmemiş bir bağlamda yineler.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.

Aşağıdaki Microsoft ara dil (MSIL) yönergeleri bir OverflowExceptionoluşturur:The following Microsoft intermediate language (MSIL) instructions throw an OverflowException:

  • add.ovf. <imzalanmış >add.ovf. <signed>

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

  • > yazmak için< conv.ovf. .unconv.ovf. <to type> .un

  • mul.ovf. <türü >mul.ovf. <type>

  • sub.ovf. <türü >sub.ovf. <type>

  • newarr

OverflowException, 0x80131516 değerine sahip olan HRESULT COR_E_OVERFLOW kullanır.OverflowException uses the HRESULT COR_E_OVERFLOW, which has the value 0x80131516.

Bir OverflowExceptionörneğine ilişkin ilk özellik değerlerinin listesi için, OverflowException oluşturuculara bakın.For a list of initial property values for an instance of OverflowException, see the OverflowException constructors.

Oluşturucular

OverflowException()

OverflowException sınıfının yeni bir örneğini başlatır.Initializes a new instance of the OverflowException class.

OverflowException(SerializationInfo, StreamingContext)

OverflowException sınıfının yeni bir örneğini serileştirilmiş verilerle başlatır.Initializes a new instance of the OverflowException class with serialized data.

OverflowException(String)

Belirtilen bir hata iletisiyle OverflowException sınıfının yeni bir örneğini başlatır.Initializes a new instance of the OverflowException class with a specified error message.

OverflowException(String, Exception)

Belirtilen bir hata iletisiyle OverflowException sınıfının yeni bir örneğini ve bu özel durumun nedeni olan iç özel duruma bir başvuruyu başlatır.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.

Özellikler

Data

Özel durum hakkında ek kullanıcı tanımlı bilgiler sağlayan anahtar/değer çiftleri koleksiyonunu alır.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Devralındığı yer: Exception)
HelpLink

Bu özel durumla ilişkili Yardım dosyasının bağlantısını alır veya ayarlar.Gets or sets a link to the help file associated with this exception.

(Devralındığı yer: Exception)
HResult

Belirli bir özel duruma atanan kodlanmış bir sayısal değer olan HRESULT 'yi alır veya ayarlar.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Devralındığı yer: Exception)
InnerException

Geçerli özel duruma neden olan Exception örneğini alır.Gets the Exception instance that caused the current exception.

(Devralındığı yer: Exception)
Message

Geçerli özel durumu açıklayan bir ileti alır.Gets a message that describes the current exception.

(Devralındığı yer: Exception)
Source

Uygulamanın veya hataya neden olan nesnenin adını alır veya ayarlar.Gets or sets the name of the application or the object that causes the error.

(Devralındığı yer: Exception)
StackTrace

Çağrı yığınında anlık çerçevelerin dize gösterimini alır.Gets a string representation of the immediate frames on the call stack.

(Devralındığı yer: Exception)
TargetSite

Geçerli özel durumu oluşturan yöntemi alır.Gets the method that throws the current exception.

(Devralındığı yer: Exception)

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

(Devralındığı yer: Object)
GetBaseException()

Türetilmiş bir sınıfta geçersiz kılınırsa, bir veya daha fazla sonraki özel durumun kök nedeni olan Exception döndürür.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Devralındığı yer: Exception)
GetHashCode()

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

(Devralındığı yer: Object)
GetObjectData(SerializationInfo, StreamingContext)

Türetilmiş bir sınıfta geçersiz kılınırsa, SerializationInfo özel durumla ilgili bilgilerle ayarlar.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Devralındığı yer: Exception)
GetType()

Geçerli örneğin çalışma zamanı türünü alır.Gets the runtime type of the current instance.

(Devralındığı yer: Exception)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
ToString()

Geçerli özel durumun dize gösterimini oluşturur ve döndürür.Creates and returns a string representation of the current exception.

(Devralındığı yer: Exception)

Ekinlikler

SerializeObjectState

Özel durum hakkında serileştirilmiş veri içeren bir özel durum nesnesi oluşturmak için bir özel durum serileştirildiğinde gerçekleşir.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Devralındığı yer: Exception)

Şunlara uygulanır

Ayrıca bkz.