NotImplementedException Klasse

Definition

Die Ausnahme, die ausgelöst wird, wenn eine angeforderte Methode oder Operation nicht implementiert ist.

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
Vererbung
NotImplementedException
Vererbung
NotImplementedException
Attribute

Beispiele

Im folgenden Beispiel wird diese Ausnahme für eine Methode ausgelöst, die nicht entwickelt wurde.

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

Hinweise

Die NotImplementedException Ausnahme wird ausgelöst, wenn eine bestimmte Methode, ein Accessor abrufen oder ein Set-Accessor als Element eines Typs vorhanden ist, aber nicht implementiert wird.

NotImplementedException verwendet die Standardimplementierung Object.Equals , die die Referenzgleichheit unterstützt. Eine Liste der anfänglichen Werte für eine Instanz von NotImplementedException, finden Sie in den NotImplementedException Konstruktoren.

Auslösen der Ausnahme

Möglicherweise können Sie eine NotImplementedException Ausnahme in Eigenschaften oder Methoden in Ihren eigenen Typen auslösen, wenn das Element noch in der Entwicklung ist und nur später im Produktionscode implementiert wird. Mit anderen Worten, eine NotImplementedException Ausnahme sollte synonym mit "immer noch in der Entwicklung" sein.

Behandeln der Ausnahme

Die NotImplementedException Ausnahme gibt an, dass die Methode oder Eigenschaft, die Sie aufrufen möchten, keine Implementierung aufweist und daher keine Funktionalität bereitstellt. Daher sollten Sie diesen Fehler in einem try/catch Block nicht behandeln. Stattdessen sollten Sie den Aufruf des Members aus Ihrem Code entfernen. Sie können einen Aufruf an das Mitglied einschließen, wenn sie in der Produktionsversion einer Bibliothek implementiert wird.

In einigen Fällen kann eine NotImplementedException Ausnahme nicht verwendet werden, um Funktionen anzugeben, die sich noch in einer Vorabproduktionsbibliothek befinden. Dies gibt jedoch weiterhin an, dass die Funktionalität nicht verfügbar ist, und Sie sollten den Memberaufruf aus Ihrem Code entfernen.

NotImplementedException und andere Ausnahmetypen

Die .NET Framework enthält auch zwei andere Ausnahmetypen und NotSupportedException PlatformNotSupportedExceptiongibt an, dass für ein bestimmtes Element eines Typs keine Implementierung vorhanden ist. Sie sollten eine der folgenden Bedingungen anstelle einer NotImplementedException Ausnahme auslösen.

PlatformNotSupportedException Ausnahme
Wenn Sie einen Typ mit einem oder mehreren Mitgliedern entwickelt haben, die auf einigen Plattformen oder in einigen Versionen, aber nicht in anderen Versionen verfügbar sind, können Sie diese Ausnahme auf Plattformen auslösen, auf denen die Funktionalität nicht unterstützt wird.

NotSupportedException Ausnahme
Löst eine NotSupportedException Ausnahme aus, wenn die Implementierung eines Schnittstellenmitglieds oder eine Außerkraftsetzung auf eine abstrakte Basisklassenmethode nicht möglich ist. Die Methode löst beispielsweise eine NotSupportedException Ausnahme aus, Convert.ToInt32(DateTime) da keine aussagekräftige Konvertierung zwischen einem Datum und einer Uhrzeit und einer 32-Bit-Ganzzahl vorhanden ist. Die Methode muss in diesem Fall vorhanden sein, da die Convert Klasse die IConvertible Schnittstelle implementiert.

Sie sollten auch eine Ausnahme auslösen, wenn Sie eine NotSupportedException abstrakte Basisklasse implementiert haben und einem neuen Element hinzufügen, das von abgeleiteten Klassen außer Kraft gesetzt werden muss. In diesem Fall führt das Abstrahieren des Members dazu, dass vorhandene Unterklassen nicht geladen werden.

Konstruktoren

NotImplementedException()

Initialisiert eine neue Instanz der NotImplementedException-Klasse mit Standardeigenschaften.

NotImplementedException(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der NotImplementedException-Klasse mit serialisierten Daten.

NotImplementedException(String)

Initialisiert eine neue Instanz der NotImplementedException-Klasse mit einer angegebenen Fehlermeldung.

NotImplementedException(String, Exception)

Initialisiert eine neue Instanz der NotImplementedException-Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat.

Eigenschaften

Data

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen.

(Geerbt von Exception)
HelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.

(Geerbt von Exception)
HResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist.

(Geerbt von Exception)
InnerException

Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat.

(Geerbt von Exception)
Message

Ruft eine Meldung ab, mit der die aktuelle Ausnahme beschrieben wird.

(Geerbt von Exception)
Source

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.

(Geerbt von Exception)
StackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab.

(Geerbt von Exception)
TargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.

(Geerbt von Exception)

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetBaseException()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die Grundursache für eine oder mehrere nachfolgende Ausnahmen ist.

(Geerbt von Exception)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Legt beim Überschreiben in einer abgeleiteten Klasse die SerializationInfo mit Informationen über die Ausnahme fest.

(Geerbt von Exception)
GetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.

(Geerbt von Exception)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück.

(Geerbt von Exception)

Ereignisse

SerializeObjectState
Veraltet.

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt mit serialisierten Daten über die Ausnahme zu erstellen.

(Geerbt von Exception)

Gilt für

Siehe auch