다음을 통해 공유


System.NotImplementedException 클래스

이 문서는 이 API에 대한 참조 설명서를 보충하는 추가 설명을 제공합니다.

특정 메서드, get 접근자 또는 set 접근자가 형식의 멤버로 존재하지만 구현되지 않은 경우, NotImplementedException 예외가 throw됩니다.

NotImplementedException 참조 같음을 지원하는 기본 Object.Equals 구현을 사용합니다. 인스턴스 NotImplementedException의 초기 값 목록은 NotImplementedException 생성자를 참조하십시오.

예외를 던지다

해당 멤버가 아직 개발 중이고 나중에 프로덕션 코드에서만 구현될 때 고유한 형식의 속성 또는 메서드에서 예외를 throw NotImplementedException 하도록 선택할 수 있습니다. 즉, 예외는 NotImplementedException "아직 개발 중"과 동의어여야 합니다.

예외 처리

예외는 NotImplementedException 호출하려는 메서드 또는 속성에 구현이 없으므로 기능이 없음을 나타냅니다. 따라서 try/catch 블록에서 이 오류를 처리해서는 안 됩니다. 대신 코드에서 멤버 호출을 제거해야 합니다. 라이브러리의 프로덕션 버전에서 구현될 때 멤버에 대한 호출을 포함할 수 있습니다.

경우에 따라 NotImplementedException 사전 프로덕션 라이브러리에서 아직 개발 중인 기능을 나타내는 데 예외를 사용하지 않을 수 있습니다. 그러나 여전히 기능을 사용할 수 없음을 나타내며 코드에서 멤버 호출을 제거해야 합니다.

NotImplementedException 및 기타 예외 형식

.NET에는 형식의 NotSupportedExceptionPlatformNotSupportedException특정 멤버에 대한 구현이 없음을 나타내는 두 가지 다른 예외 형식도 포함됩니다. 다음 조건에서는 NotImplementedException 예외 대신 이 중 하나를 throw해야 합니다.

  • 플랫폼 또는 버전에 따라 일부 멤버는 사용할 수 있지만 다른 멤버는 사용할 수 없는 형식을 설계한 경우, 기능이 지원되지 않는 플랫폼에서 PlatformNotSupportedException 예외를 throw합니다.

  • 인터페이스 멤버 구현이나 추상 기본 클래스 메서드 재정의가 불가능한 경우, NotSupportedException 예외를 throw합니다.

    예를 들어 Convert.ToInt32(DateTime) 메서드는 날짜와 시간과 32비트 부호 있는 정수 간에 의미 있는 변환이 없기 때문에 NotSupportedException 예외를 throw합니다. 클래스가 인터페이스를 구현하기 때문에 이 경우 메서드가 ConvertIConvertible 있어야 합니다.

추상 기본 클래스를 NotSupportedException 구현한 경우 예외를 throw하고 파생 클래스에서 재정의해야 하는 새 멤버를 추가해야 합니다. 이 경우 멤버를 추상화하면 기존 서브클래스가 로드되지 않습니다.