NotImplementedException Klasa

Definicja

Wyjątek zgłaszany, gdy żądana metoda lub operacja nie jest zaimplementowana.

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
NotImplementedException
Dziedziczenie
NotImplementedException
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, get accessor lub set accessor jest obecny jako element członkowski typu, ale nie jest zaimplementowany.

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 zostanie zaimplementowany dopiero później w kodzie produkcyjnym. Innymi słowy wyjątek NotImplementedException 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 uwzględnić po zaimplementowaniu go w wersji produkcyjnej biblioteki.

W niektórych przypadkach NotImplementedException wyjątek może nie być używany do wskazywania funkcji, które są nadal opracowywane 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

.NET Framework zawiera również dwa inne typy wyjątków i NotSupportedException PlatformNotSupportedException, 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.

PlatformNotSupportedException Wyjątek
Jeśli zaprojektowano typ z co najmniej jednym elementem członkowskimi dostępnym na niektórych platformach lub w niektórych wersjach, ale nie w innych, możesz zgłosić ten wyjątek na platformach, na których funkcja nie jest obsługiwana.

NotSupportedException Wyjątek
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ż istnieje żadna znacząca 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 wykonanie abstrakcji elementu członkowskiego powoduje, że nie można załadować istniejących podklas.

Konstruktory

NotImplementedException()

Inicjuje NotImplementedException nowe wystąpienie klasy z domyślnymi właściwościami.

NotImplementedException(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie klasy NotImplementedException z zserializowanymi danymi.

NotImplementedException(String)

Inicjuje NotImplementedException nowe wystąpienie klasy z określonym komunikatem o błędzie.

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.

Właściwości

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 w stosie wywołań.

(Odziedziczone po Exception)
TargetSite

Pobiera metodę, która zgłasza bieżący wyjątek.

(Odziedziczone po Exception)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetBaseException()

Po przesłonięciu 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)

Po zastąpieniu w klasie pochodnej ustawia SerializationInfo element 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 Objectelementu .

(Odziedziczone po Object)
ToString()

Tworzy i zwraca reprezentację ciągu bieżącego wyjątku.

(Odziedziczone po Exception)

Zdarzenia

SerializeObjectState
Nieaktualne.

Występuje, gdy wyjątek jest serializowany w celu utworzenia obiektu stanu wyjątku zawierającego serializowane dane o wyjątku.

(Odziedziczone po Exception)

Dotyczy

Zobacz też