다음을 통해 공유


컴파일러 생성 예외(C# 프로그래밍 가이드)

기본 작업이 실패하면 몇 가지 예외가 .NET Framework의 CLR(공용 언어 런타임)에서 자동으로 throw됩니다. 다음 표에서는 이러한 예외와 오류 조건을 보여 줍니다.

Exception

설명

ArithmeticException

DivideByZeroExceptionOverflowException 등의 산술 연산 과정에서 발생하는 예외에 대한 기본 클래스

ArrayTypeMismatchException

저장된 요소의 실제 형식이 배열의 실제 형식과 호환되지 않기 때문에 배열에서 해당 요소를 저장하지 못하는 경우

DivideByZeroException

정수 계열 값을 0으로 나누려고 한 경우

IndexOutOfRangeException

배열을 인덱싱하려 할 때 인덱스가 0보다 작거나 배열 경계를 벗어난 경우

InvalidCastException

런타임에 기본 형식에서 인터페이스나 파생 형식으로의 명시적 변환이 실패한 경우

NullReferenceException

값이 null인 개체를 참조할 경우

OutOfMemoryException

new 연산자를 사용하여 메모리를 할당하는 데 실패한 경우. 이는 공용 언어 런타임에 사용할 수 있는 메모리가 부족하다는 것을 의미합니다.

OverflowException

checked 컨텍스트에서 산술 연산이 오버플로된 경우

StackOverflowException

보류된 메서드 호출이 너무 많아서 실행 스택이 부족한 경우. 일반적으로 너무 깊은 재귀 호출이나 무한 재귀 호출을 나타냅니다.

TypeInitializationException

정적 생성자가 예외를 throw했지만 이를 catch할 catch 절이 없는 경우

참고 항목

참조

예외 및 예외 처리(C# 프로그래밍 가이드)

예외 처리(C# 프로그래밍 가이드)

try-catch(C# 참조)

try-finally(C# 참조)

try-catch-finally(C# 참조)

개념

C# 프로그래밍 가이드