OverflowException 클래스

정의

checked 컨텍스트의 산술, 캐스팅 또는 변환 연산으로 인해 오버플로가 발생하는 경우 throw되는 예외입니다.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.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class OverflowException : ArithmeticException
type OverflowException = class
    inherit ArithmeticException
[<System.Serializable>]
type OverflowException = class
    inherit ArithmeticException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type OverflowException = class
    inherit ArithmeticException
Public Class OverflowException
Inherits ArithmeticException
상속
상속
특성

설명

OverflowException 런타임에 다음 조건에서 throw 됩니다.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 형식의 범위를 오버플로 하는 곱하기 연산에서 throw 되는을 보여 줍니다 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 부호 없는 바이트 값을 부호 있는 바이트 값으로 변환 하려고 할 때 throw 되는을 보여 줍니다.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 (Microsoft 중간 언어) 명령은을 throw 합니다 OverflowException .The following Microsoft intermediate language (MSIL) instructions throw an OverflowException:

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

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

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

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

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

  • newarr

OverflowException 는 0x80131516 값을 갖는 HRESULT COR_E_OVERFLOW를 사용 합니다.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 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the OverflowException class.

OverflowException(SerializationInfo, StreamingContext)

serialize된 데이터를 사용하여 OverflowException 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the OverflowException class with serialized data.

OverflowException(String)

지정된 오류 메시지를 사용하여 OverflowException 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the OverflowException class with a specified error message.

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

예외에 대한 사용자 정의 정보를 추가로 제공하는 키/값 쌍 컬렉션을 가져옵니다.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(다음에서 상속됨 Exception)
HelpLink

이 예외와 연결된 도움말 파일에 대한 링크를 가져오거나 설정합니다.Gets or sets a link to the help file associated with this exception.

(다음에서 상속됨 Exception)
HResult

특정 예외에 할당된 코드화된 숫자 값인 HRESULT를 가져오거나 설정합니다.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(다음에서 상속됨 Exception)
InnerException

현재 예외를 발생시킨 Exception 인스턴스를 가져옵니다.Gets the Exception instance that caused the current exception.

(다음에서 상속됨 Exception)
Message

현재 예외를 설명하는 메시지를 가져옵니다.Gets a message that describes the current exception.

(다음에서 상속됨 Exception)
Source

오류를 발생시키는 애플리케이션 또는 개체의 이름을 가져오거나 설정합니다.Gets or sets the name of the application or the object that causes the error.

(다음에서 상속됨 Exception)
StackTrace

호출 스택의 직접 실행 프레임 문자열 표현을 가져옵니다.Gets a string representation of the immediate frames on the call stack.

(다음에서 상속됨 Exception)
TargetSite

현재 예외를 throw하는 메서드를 가져옵니다.Gets the method that throws the current exception.

(다음에서 상속됨 Exception)

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetBaseException()

파생 클래스에서 재정의된 경우 하나 이상의 후속 예외의 근본 원인이 되는 Exception 을 반환합니다.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(다음에서 상속됨 Exception)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetObjectData(SerializationInfo, StreamingContext)

파생 클래스에서 재정의된 경우 예외에 관한 정보를 SerializationInfo 에 설정합니다.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(다음에서 상속됨 Exception)
GetType()

현재 인스턴스의 런타임 형식을 가져옵니다.Gets the runtime type of the current instance.

(다음에서 상속됨 Exception)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 예외에 대한 문자열 표현을 만들고 반환합니다.Creates and returns a string representation of the current exception.

(다음에서 상속됨 Exception)

이벤트

SerializeObjectState

예외에 대한 serialize된 데이터가 들어 있는 예외 상태 개체가 만들어지도록 예외가 serialize될 때 발생합니다.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(다음에서 상속됨 Exception)

적용 대상

추가 정보