OverflowException OverflowException OverflowException OverflowException Class

Определение

Исключение, которое выбрасывается, когда при выполнении арифметических операций, операций приведения типов и преобразования происходит переполнение.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
Наследование
Атрибуты

Комментарии

OverflowException Возникает исключение во время выполнения при следующих условиях:An OverflowException is thrown at run time under the following conditions:

  • Арифметическая операция дает результат, который находится вне диапазона типа данных, возвращаемых операцией.An arithmetic operation produces a result that is outside the range of the data type returned by the operation. В следующем примере показано OverflowException вызывается операцию умножения, вызывающие переполнение Int32 типа.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.
    
  • Операция приведения или преобразования предпринимает попытку выполнения сужающего преобразования, а значение типа источника данных находится вне диапазона целевого типа данных.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. В следующем примере показано OverflowException , создаваемое при попытке преобразовать большие байтовое значение без знака в значение byte со знаком.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.
    

В каждом случае результат операции имеет значение меньше, чем MinValue свойство или больше, чем MaxValue свойство типа данных, полученный в результате операции.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.

Для throw операции арифметического приведения или преобразования OverflowException, должна быть выполнена операция в проверяемом контексте.For the arithmetic, casting, or conversion operation to throw an OverflowException, the operation must occur in a checked context. По умолчанию проверяются арифметических операций и переполнения в Visual Basic; в C# они не являются.By default, arithmetic operations and overflows in Visual Basic are checked; in C#, they are not. Если операция выполняется в непроверенном контексте, результат усекается путем удаления старших разрядов, которые не помещаются в конечный тип.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. В следующем примере показано такое преобразование без проверки в C#.The following example illustrates such an unchecked conversion in C#. Она повторяется в предыдущем примере в непроверенном контексте.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.

Корпорации Майкрософт, вызывать инструкции промежуточного языка MSIL OverflowException:The following Microsoft intermediate language (MSIL) instructions throw an OverflowException:

  • add.ovf. <автоматический >add.ovf. <signed>

  • conv.ovf. <для ввода >conv.ovf. <to type>

  • conv.ovf. <для ввода > .unconv.ovf. <to type> .un

  • mul.ovf. <Тип >mul.ovf. <type>

  • sub.ovf. <Тип >sub.ovf. <type>

  • newarr

OverflowException использует COR_E_OVERFLOW HRESULT, которое имеет значение 0x80131516.OverflowException uses the HRESULT COR_E_OVERFLOW, which has the value 0x80131516.

Список начальных значений свойств для экземпляра OverflowException, см. в разделе OverflowException конструкторы.For a list of initial property values for an instance of OverflowException, see the OverflowException constructors.

Конструкторы

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

Инициализирует новый экземпляр класса OverflowException.Initializes a new instance of the OverflowException class.

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

Инициализирует новый экземпляр класса OverflowException с сериализованными данными.Initializes a new instance of the OverflowException class with serialized data.

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

Инициализирует новый экземпляр класса OverflowException с указанным сообщением об ошибке.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)

Инициализирует новый экземпляр класса OverflowException указанным сообщением об ошибке и ссылкой на внутреннее исключение, вызвавшее данное исключение.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.

Свойства

Data Data Data Data

Возвращает коллекцию пар "ключ-значение", предоставляющих дополнительную заданную пользователем информацию об исключении.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

Возвращает или задает ссылку на файл справки, связанный с этим исключением.Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

Возвращает или задает HRESULT — кодированное числовое значение, присвоенное определенному исключению.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

Возвращает экземпляр объекта Exception, который вызвал текущее исключение.Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

Возвращает сообщение, описывающее текущее исключение.Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

Возвращает или задает имя приложения или объекта, вызывавшего ошибку.Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

Получает строковое представление непосредственных кадров в стеке вызова.Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

Возвращает метод, создавший текущее исключение.Gets the method that throws the current exception.

(Inherited from Exception)

Методы

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

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

При переопределении в производном классе возвращает исключение Exception, которое является корневой причиной одного или нескольких последующих исключений.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()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

При переопределении в производном классе задает сведения об исключении для SerializationInfo.When overridden in a derived class, sets the SerializationInfo with information about the exception.

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

Возвращает тип текущего экземпляра в среде выполнения.Gets the runtime type of the current instance.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Создает и возвращает строковое представление текущего исключения.Creates and returns a string representation of the current exception.

(Inherited from Exception)

События

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Применяется к

Дополнительно