HOWTO · Csharp

C#의 예외 목록

이 문서에서 발생할 수 있는 C# 예외를 살펴보겠습니다.

이 페이지의 내용

이 문서는 미리 정의된 C#의 Exception 클래스와 함께 제공되는 예외에 관한 것입니다.

System Exception 클래스는 프로그래밍에서 사용할 수 있는 C# 프로그래밍 언어의 미리 정의된 Exception 클래스입니다. 코드에서 발생할 수 있는 예외를 선택하고 적절한 catch 블록에 삽입합니다.

이 장에서는 모든 시스템 예외 클래스의 포괄적인 목록을 제공합니다. 이 예외를 사용하여 오류가 없고 매우 탄력적인 코드를 작성할 수 있습니다.

C#의 시스템 예외

  1. AccessViolationException - 보호된 메모리에서 읽거나 쓰려고 할 때마다 예외가 생성됩니다.
  2. AppDomainUnloadedException - 애플리케이션 도메인에 액세스하려는 시도가 아직 로드되지 않은 경우 예외가 생성됩니다.
  3. ApplicationException - 응용 프로그램 오류가 치명적이지 않은 경우 예외가 발생합니다.
  4. ArgumentException - 메소드에 제공된 매개변수 중 하나가 유효하지 않은 경우 오류 메시지가 사용자에게 표시됩니다.
  5. ArgumentNullException - 유효한 매개 변수로 null 참조를 허용하지 않는 프로시저가 null 값(Visual Basic에서는 Nothing이라고 함)에 대한 참조를 수신할 때마다 예외가 생성됩니다.
  6. ArgumentOutOfRangeException - 인수의 값이 호출된 메서드에 의해 설정된 허용 가능한 값 범위를 벗어나면 예외가 발생합니다.
  7. ArithmeticException - 계산, 캐스팅 또는 변환 작업으로 인해 오류가 발생하면 예외가 발생합니다.
  8. ArrayTypeMismatchException - 잘못된 유형의 요소를 배열 내부에 저장하려고 하면 예외가 발생합니다.
  9. BadImageFormatException - DLL(동적 연결 라이브러리) 또는 실행 프로그램에 손상된 파일 이미지가 있는 경우 예외가 발생합니다.
  10. CannotUnloadAppDomainException - 응용 프로그램 도메인을 언로드하려는 시도가 실패하면 예외가 발생합니다.
  11. ContextMarshalException - 개체를 컨텍스트 경계를 통해 마샬링할 수 없는 경우 예외가 throw됩니다.
  12. DataMisalignedException - 데이터 크기의 배수가 아닌 주소에서 데이터 단위를 읽거나 쓰는 경우 예외가 발생합니다. 데이터 크기가 주소의 배수가 아닌 경우 예외가 발생합니다.
  13. DivideByZeroException - 십진수 또는 정수 값을 0으로 나누려고 할 때마다 예외가 생성됩니다.
  14. DllNotFoundException - DLL 가져오기에 지정된 DLL(동적 연결 라이브러리)을 찾을 수 없는 경우는 예외입니다.
  15. DuplicateWaitObjectException - 배열에 동일한 개체의 인스턴스가 여러 개 포함되어 있으면 예외가 발생합니다.
  16. EntryPointNotFoundException - 엔트리 메소드의 부재로 인해 클래스가 로드되기 때문에 클래스 로드 시도가 실패한 경우 예외가 생성됩니다.
  17. ExecutionEngineException - 공용 언어 런타임의 실행 엔진에서 시스템 로컬 오류가 발생할 때마다 예외가 발생합니다.
  18. FieldAccessException - 클래스 내부에 포함된 private 또는 protected 필드에 잘못된 액세스 시도가 있을 때마다 예외가 생성됩니다.
  19. FormatException - 인수의 구조가 메소드 호출에서 제공한 매개변수와 일치하지 않을 때 발생합니다.
  20. IndexOutOfRangeException - 배열의 한계를 넘어서는 인덱스를 가진 배열 요소에 접근을 시도하면 예외가 발생합니다. 이 클래스는 상속을 다른 클래스로 전달할 수 없습니다.
  21. InsufficientMemoryException - 적절하고 액세스 가능한 메모리에 대한 검사가 잘못된 결과를 반환하면 예외가 트리거됩니다. 이 클래스는 상속을 다른 클래스로 전달할 수 없습니다.
  22. InvalidCastException - 캐스팅 절차에 결함이 있거나 명시적 변환이 수행된 경우 예외가 트리거됩니다.
  23. InvalidOperationException - 개체의 현재 상태로 인해 메서드 호출을 수행할 수 없을 때마다 예외가 발생합니다.
  24. InvalidProgramException - 프로그램에 잘못된 MSIL(Microsoft Intermediate Language) 또는 메타데이터가 있는 경우 예외가 발생합니다. 대부분의 경우 이것은 프로그램을 빌드하는 데 사용된 컴파일러에 문제가 있음을 나타냅니다.
  25. MemberAccessException - 클래스 멤버에 액세스하려는 시도가 실패할 때마다 예외가 발생합니다.
  26. MethodAccessException - 클래스 내부의 private 또는 protected 메서드에 잘못된 접근 시도가 있을 때마다 예외가 발생합니다.
  27. MissingFieldException - 누군가가 데이터베이스에 존재하지 않는 필드에 동적으로 액세스하려고 할 때마다 예외가 생성됩니다.
  28. MissingMemberException - 존재하지 않는 클래스 멤버에 동적으로 액세스하려는 시도가 있는 경우 예외가 발행됩니다.
  29. MissingMethodException - 누군가가 프로그램에 존재하지 않는 메소드에 동적으로 접근을 시도하는 경우는 예외입니다.
  30. MulticastNotSupportedException - 유형이 아닌 유형에 따라 두 대리자의 조합을 시도하면 예외가 발생합니다.
  31. NotFiniteNumberException - 양수 또는 음수 무한대이거나 존재하지 않는 모든 값은 예외를 발생시킵니다(NaN).
  32. NotImplementedException - 요청된 메서드 또는 작업이 구현되지 않아 수행할 수 없는 경우 예외가 발생합니다.
  33. NotSupportedException - 호출된 메서드가 호출된 기능을 지원하지 않거나 이전에 제공된 기능을 지원하지 않는 스트림을 읽거나, 검색하거나, 쓰려고 하면 예외가 발생합니다. 호출됨.
  34. NullReferenceException - 이전에 null로 구성된 개체 참조에 대해 역참조 작업을 시도하면 오류가 발생합니다.
  35. ObjectDisposedException - 삭제된 개체에 대해 작업이 수행되면 예외가 생성됩니다.
  36. OperationCanceledException - 스레드가 이전에 수행된 활동을 수행하지 못하도록 중지된 경우 스레드에서 예외가 발생합니다.
  37. OutOfMemoryException - 프로그램 실행을 계속할 메모리가 부족하면 예외가 발생합니다. 메모리 예외라고도 합니다.
  38. OverflowException - 캐스팅, 변환 또는 산술과 관련된 작업이 검사된 컨텍스트에서 수행될 때 오버플로가 발생하면 예외가 발생합니다.
  39. PlatformNotSupportedException - 지원되지 않는 플랫폼에서 기능을 실행하려고 하면 예외가 발생합니다.
  40. RankException - 메서드가 잘못된 차원 수의 배열이 포함된 매개변수를 받으면 예외가 발생합니다.
  41. StackOverflowException - 중첩된 메서드 호출이 너무 많아 실행 스택이 오버플로되면 예외가 발생합니다.
  42. SystemException - 이 함수는 네임스페이스 내부에 설정된 모든 예외에 대한 기본 클래스를 지정합니다.
  43. TimeoutException - 절차나 작업에 허용된 시간이 다 된 경우 예외가 발생합니다.
  44. TypeInitializationException - throw된 예외는 래핑되어 throw될 때 클래스 초기화 프로그램에서 throw되는 예외입니다.
  45. TypeLoadException - 유형 로딩에 문제가 있으면 예외가 발생합니다.
  46. ​​TypeUnloadedException - 아직 로드되지 않은 클래스에 액세스하려고 하면 예외가 생성됩니다.
  47. UnauthorizedAccessException - 입력 또는 출력(I/O) 문제 또는 특정 종류의 보안 오류로 인해 운영 체제가 액세스 제공을 거부하는 경우 예외가 발생합니다.

C#의 System.Data 예외

  1. ConstraintException - 이 개체는 제약 조건을 위반하는 작업이 시도될 때 발생하는 예외를 나타냅니다.
  2. DataException - ADO.NET 구성 요소를 사용하여 오류가 발생한 경우 예외가 전달됩니다.
  3. DBConcurrencyException - 영향을 받는 행 수가 0인 경우 삽입, 업데이트 또는 삭제 작업을 수행할 때 예외가 발행됩니다.
  4. DeletedRowInaccessibleException - 제거된 항목에 대해 작업을 수행하려고 하면 발생하는 예외를 나타내는 데 사용됩니다.
  5. DuplicateNameException - 연결된 개체에 대해 추가 작업이 수행되고 데이터베이스 개체 이름이 사용 중 중복된 것으로 발견된 경우 생성되는 예외를 나타냅니다.
  6. EvaluateException - 속성 평가가 발생할 수 없는 경우 예외 표현이 발생합니다.
  7. InRowChangingEventException - 이벤트 내부에서 메서드가 호출될 때 표시되는 오류 메시지를 나타냅니다.
  8. InvalidConstraintException - 이 클래스에서 관계를 부적절하게 액세스하거나 구성하려는 시도가 있는 경우 예외가 생성됩니다.
  9. InvalidExpressionException - DataColumn에 잘못된 Expression이 포함된 경우 DataColumnCollection에 DataColumn을 추가하려고 할 때 발생하는 오류를 나타내는 개체입니다.
  10. MissingPrimaryKeyException - 기본 키가 없는 테이블의 행에 액세스하려고 하면 이 예외가 발생합니다.
  11. NoNullAllowedException - 속성이 false로 설정되어서는 안 되는 열에 null 값을 삽입하려고 하면 예외가 발생합니다.
  12. OperationAbortedException - 이 예외는 사용자가 현재 실행 중인 작업을 취소하면 생성됩니다.
  13. ReadOnlyException - 읽기 전용 액세스로 제한된 열의 값을 수정하려고 할 때마다 예외가 생성됩니다.
  14. RowNotInTableException - a에 포함되지 않은 작업을 실행하려고 하면 예외가 발생합니다. 예외가 throw될 때 표시되는 오류 메시지를 나타냅니다.
  15. StrongTypingException - 사용자가 DBNull 변수에 액세스하려고 할 때마다 높은 유형의 시스템에서 예외가 생성됩니다.
  16. SyntaxErrorException - 의 속성에 구문 오류가 있는 경우 이 개체가 나타내는 예외가 throw됩니다.
  17. TypedDataSetGeneratorException - 강력한 형식이 생성될 때 이름 충돌이 발생하면 예외가 발생합니다.
  18. VersionNotFoundException - 존재에서 제거된 이후 버전을 반환하려고 하면 예외가 발생합니다.

C#의 System.IO 예외

  1. DirectoryNotFoundException - 파일이나 디렉토리의 섹션을 찾을 수 없는 경우 예외가 생성됩니다.
  2. DriveNotFoundException - 현재 사용할 수 없는 디스크 또는 공유에 액세스하려고 하면 예외가 발생합니다.
  3. EndOfStreamException - 스트림의 끝을 넘어 쓰여진 데이터를 읽으려고 하면 예외가 생성됩니다.
  4. FileLoadException - 이 예외는 관리되는 어셈블리를 찾았지만 로드할 수 없는 경우에 발생합니다.
  5. FileNotFoundException - 디스크에 존재하지 않는 파일을 읽거나 쓰려는 시도가 실패하면 예외가 발생합니다.
  6. IOException - I/O에 문제가 있는 경우 예외가 발생합니다.
  7. PathTooLongException - 경로 이름 또는 파일 이름이 시스템에서 미리 정의한 최대 길이보다 큰 경우 오류가 발생합니다.

C#의 System.Net 예외

  1. HttpListenerException - HTTP 요청을 처리하는 동안 문제가 발생하면 예외가 발생합니다.
  2. ProtocolViolationException - 오류로 인해 네트워크 프로토콜이 부적절하게 활용되는 경우 예외가 발생합니다.
  3. WebException - 플러그 가능한 프로토콜을 통해 네트워크에 접속을 시도할 때 문제가 있는 경우 예외가 발생합니다.

C#의 System.Net.Mail 예외

  1. SmtpException - 작동할 수 없을 때 예외를 발생시키는 오류 조건을 식별합니다.
  2. SmtpFailedRecipientException - 이 객체는 특정 수신자에 대한 메시지 전송 또는 작업 수행을 완료할 수 없을 때 발생하는 예외를 나타냅니다.
  3. SmtpFailedRecipientsException - 이메일이 를 사용하여 전송되고 모든 수신자에게 전송될 수 없는 경우 예외가 생성됩니다.

C#의 System.Net.NetworkInformation 예외

  1. NetworkInformationException - 네트워크 정보 가져오기에 실패하면 예외가 발생합니다.
  2. PingException - 메서드(또는 메서드)가 예외를 생성하는 다른 메서드(또는 메서드)를 호출할 때마다 예외가 생성됩니다.

C#의 System.Resources 예외

  1. MissingManifestResourceException - 위성 어셈블리에 중립 문화권에 대한 리소스가 충분하지 않은 경우 위성 어셈블리를 위한 공간이 충분하지 않기 때문에 예외가 발생합니다.
  2. MissingSatelliteAssemblyException - 이 규칙은 중립 문화권의 위성 어셈블리가 없을 때 적용되지 않습니다. 이 경우가 이를 깨기에 적절한 유일한 시간입니다.