NotImplementedException Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wyjątek zgłaszany, gdy żądana metoda lub operacja nie jest implementowana.
public ref class NotImplementedException : Exception
public ref class NotImplementedException : SystemException
public class NotImplementedException : Exception
public class NotImplementedException : SystemException
[System.Serializable]
public class NotImplementedException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class NotImplementedException : SystemException
type NotImplementedException = class
inherit Exception
type NotImplementedException = class
inherit SystemException
[<System.Serializable>]
type NotImplementedException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type NotImplementedException = class
inherit SystemException
Public Class NotImplementedException
Inherits Exception
Public Class NotImplementedException
Inherits SystemException
- Dziedziczenie
- Dziedziczenie
- Atrybuty
Przykłady
Poniższy przykład zgłasza ten wyjątek dla metody, która nie została opracowana.
static void Main(string[] args)
{
try
{
FutureFeature();
}
catch (NotImplementedException notImp)
{
Console.WriteLine(notImp.Message);
}
}
static void FutureFeature()
{
// Not developed yet.
throw new NotImplementedException();
}
open System
let futureFeature () =
// Not developed yet.
raise (NotImplementedException())
[<EntryPoint>]
let main _ =
try
futureFeature ()
with :? NotImplementedException as notImp ->
printfn $"{notImp.Message}"
0
Sub Main()
Try
FutureFeature()
Catch NotImp As NotImplementedException
Console.WriteLine(NotImp.Message)
End Try
End Sub
Sub FutureFeature()
' not developed yet.
Throw New NotImplementedException()
End Sub
Uwagi
Wyjątek NotImplementedException jest zgłaszany, gdy określona metoda, metoda dostępu get lub metoda dostępu set jest obecna jako element członkowski typu, ale nie jest zaimplementowana.
NotImplementedException używa domyślnej implementacji Object.Equals, która obsługuje równość odwołań. Aby uzyskać listę wartości początkowych dla instancji NotImplementedException, prosimy o zapoznanie się z konstruktorami NotImplementedException.
Rzuć wyjątek
Możesz zgłosić NotImplementedException wyjątek we właściwościach lub metodach we własnych typach, gdy element członkowski jest nadal opracowywany i będzie implementowany tylko później w kodzie produkcyjnym.
Zarządzaj wyjątkiem
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 bloku try/catch. Zamiast tego należy usunąć wywołanie członka 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 wskazania funkcjonalności, która jest nadal opracowywana w bibliotece przedprodukcyjnej. Jednak nadal oznacza to, że funkcjonalność jest niedostępna i należy usunąć wywołanie funkcji członkowskiej z kodu.
NotImplementedException i inne typy wyjątków
Platforma .NET zawiera również dwa inne typy wyjątków, NotSupportedException i PlatformNotSupportedException, które wskazują, że brak implementacji dla określonego członka typu. Należy rzucić jeden z tych wyjątków zamiast wyjątku NotImplementedException w następujących sytuacjach:
Rzuć PlatformNotSupportedException wyjątek na platformach, na których funkcjonalność nie jest obsługiwana, jeśli zaprojektowałeś typ z jednym lub więcej elementami członkowskimi, które są dostępne na niektórych platformach lub wersjach, ale nie na innych.
Rzuć wyjątek NotSupportedException, jeśli implementacja elementu członkowskiego interfejsu lub przesłonięcie abstrakcyjnej metody klasy bazowej nie jest możliwa.
Na przykład metoda Convert.ToInt32(DateTime) zgłasza wyjątek NotSupportedException ponieważ nie istnieje zrozumiała konwersja między datą i godziną a 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 oznaczenie członka jako abstrakcyjny powoduje niemożność załadowania istniejących podklas.
Konstruktory
| Nazwa | Opis |
|---|---|
| NotImplementedException() |
Inicjuje NotImplementedException nowe wystąpienie klasy z właściwościami domyślnymi. |
| NotImplementedException(SerializationInfo, StreamingContext) |
Przestarzałe.
Inicjuje NotImplementedException nowe wystąpienie klasy z serializowanymi danymi. |
| NotImplementedException(String, Exception) |
Inicjuje nowe wystąpienie NotImplementedException klasy z określonym komunikatem o błędzie i odwołaniem do wyjątku wewnętrznego, który jest przyczyną tego wyjątku. |
| NotImplementedException(String) |
Inicjuje nowe wystąpienie klasy NotImplementedException z określonym komunikatem o błędzie. |
Właściwości
| Nazwa | Opis |
|---|---|
| Data |
Pobiera kolekcję par klucz/wartość, które zapewniają dodatkowe informacje zdefiniowane przez użytkownika dotyczące wyjątku. (Odziedziczone po Exception) |
| HelpLink |
Pobiera lub ustawia link do pliku pomocy skojarzonego z tym wyjątkiem. (Odziedziczone po Exception) |
| HResult |
Pobiera lub ustawia HRESULT, zakodowaną wartość liczbową przypisaną do określonego wyjątku. (Odziedziczone po Exception) |
| InnerException |
Exception Pobiera wystąpienie, które spowodowało bieżący wyjątek. (Odziedziczone po Exception) |
| Message |
Pobiera komunikat opisujący bieżący wyjątek. (Odziedziczone po Exception) |
| Source |
Pobiera lub ustawia nazwę aplikacji lub obiektu, który powoduje błąd. (Odziedziczone po Exception) |
| StackTrace |
Pobiera reprezentację ciągu natychmiastowych ramek na stosie wywołań. (Odziedziczone po Exception) |
| TargetSite |
Pobiera metodę, która zgłasza bieżący wyjątek. (Odziedziczone po Exception) |
Metody
| Nazwa | Opis |
|---|---|
| Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
| GetBaseException() |
Po zastąpieniu w klasie pochodnej funkcja zwraca Exception główną przyczynę co najmniej jednego kolejnego wyjątku. (Odziedziczone po Exception) |
| GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Przestarzałe.
Po przesłonięciu w klasie pochodnej ustawia element SerializationInfo z informacjami o wyjątku. (Odziedziczone po Exception) |
| GetType() |
Pobiera typ środowiska uruchomieniowego bieżącego wystąpienia. (Odziedziczone po Exception) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
| ToString() |
Tworzy i zwraca reprezentację ciągu bieżącego wyjątku. (Odziedziczone po Exception) |
Zdarzenia
| Nazwa | Opis |
|---|---|
| SerializeObjectState |
Przestarzałe.
Występuje, gdy wyjątek jest serializowany w celu utworzenia obiektu stanu wyjątku zawierającego serializowane dane dotyczące wyjątku. (Odziedziczone po Exception) |