System.NotImplementedException, klasa

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Wyjątek NotImplementedException jest zgłaszany, gdy określona metoda, uzyskiwanie dostępu lub ustawianie metody dostępu jest obecne jako element członkowski typu, ale nie jest zaimplementowane.

NotImplementedException używa domyślnej Object.Equals implementacji, która obsługuje równość odwołań. Aby uzyskać listę wartości początkowych NotImplementedExceptiondla wystąpienia programu , zobacz NotImplementedException konstruktory.

Zgłaszanie wyjątku

Możesz zgłosić NotImplementedException wyjątek we właściwościach lub metodach we własnych typach, gdy ten element członkowski jest nadal w programowania i będzie implementowany dopiero później w kodzie produkcyjnym. Innymi słowy, NotImplementedException wyjątek powinien być synonimem "nadal w rozwoju".

Obsługa wyjątku

Wyjątek NotImplementedException wskazuje, że metoda lub właściwość, którą próbujesz wywołać, nie ma implementacji i dlatego nie zapewnia żadnych funkcji. W związku z tym nie należy obsługiwać tego błędu w try/catch bloku. Zamiast tego należy usunąć wywołanie elementu członkowskiego z kodu. Wywołanie elementu członkowskiego można dołączyć po zaimplementowaniu go w wersji produkcyjnej biblioteki.

W niektórych przypadkach NotImplementedException wyjątek może nie być używany do wskazywania funkcjonalności, która jest nadal opracowywana w bibliotece przedprodukcyjnej. Jednak nadal oznacza to, że funkcja jest niedostępna i należy usunąć wywołanie elementu członkowskiego z kodu.

NotImplementedException i inne typy wyjątków

Platforma .NET zawiera również dwa inne typy wyjątków i NotSupportedExceptionPlatformNotSupportedException, które wskazują, że żadna implementacja nie istnieje dla określonego elementu członkowskiego typu. Należy zgłosić jeden z tych elementów zamiast wyjątku NotImplementedException w następujących warunkach:

  • Zgłaszanie PlatformNotSupportedException wyjątku na platformach, na których funkcjonalność nie jest obsługiwana, jeśli typ został zaprojektowany z co najmniej jednym elementem członkowskimi dostępnym na niektórych platformach lub wersjach, ale nie innych.

  • Zgłaszanie wyjątku, jeśli implementacja NotSupportedException elementu członkowskiego interfejsu lub przesłonięcia do abstrakcyjnej metody klasy bazowej nie jest możliwa.

    Na przykład metoda zgłasza NotSupportedException wyjątek, Convert.ToInt32(DateTime) ponieważ nie istnieje zrozumiała konwersja między datą a godziną i 32-bitową liczbą całkowitą ze znakiem. Metoda musi być obecna w tym przypadku, ponieważ Convert klasa implementuje IConvertible interfejs.

Należy również zgłosić wyjątek, jeśli zaimplementowano abstrakcyjną klasę NotSupportedException bazową i dodać do niej nowy element członkowski, który musi zostać zastąpiony przez klasy pochodne. W takim przypadku tworzenie abstrakcji elementu członkowskiego powoduje, że nie można załadować istniejących podklas.