NotImplementedException Osztály

Definíció

Az a kivétel, amely akkor lép fel, ha egy kért metódus vagy művelet nincs implementálva.

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
Öröklődés
NotImplementedException
Öröklődés
NotImplementedException
Attribútumok

Példák

Az alábbi példa ezt a kivételt egy nem kifejlesztett metódusra veti ki.

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

Megjegyzések

A NotImplementedException kivétel akkor fordul elő, ha egy adott metódus, tartozék lekérése vagy beállítása egy típus tagjaként jelen van, de nincs implementálva.

NotImplementedException az alapértelmezett Object.Equals implementációt használja, amely támogatja a referencia-egyenlőséget. Egy példány NotImplementedExceptionkezdeti értékeinek listájáért tekintse meg a NotImplementedException konstruktorokat.

A kivétel elvetése

Dönthet úgy, hogy kivételt NotImplementedException ad a tulajdonságokban vagy metódusokban a saját típusaiban, ha egy tag még fejlesztés alatt áll, és csak később lesz implementálva az éles kódban.

A kivétel kezelése

A NotImplementedException kivétel azt jelzi, hogy a meghívni kívánt metódus vagy tulajdonság nem rendelkezik implementációval, ezért nem biztosít funkciókat. Ennek eredményeképpen ezt a hibát nem szabad try/catch blokkban kezelni. Ehelyett távolítsa el a taghívást a kódból. A kódtár éles verziójában való implementáláskor meghívhatja a tagot.

Bizonyos esetekben előfordulhat, hogy egy NotImplementedException kivétel nem jelzi azokat a funkciókat, amelyek még fejlesztés alatt vannak egy előkészületi kódtárban. Ez azonban továbbra is azt jelzi, hogy a funkció nem érhető el, ezért el kell távolítania a taghívást a kódból.

NotImplementedException és egyéb kivételtípusok

A .NET két másik kivételtípust is tartalmaz, NotSupportedException és PlatformNotSupportedException, amelyek azt jelzik, hogy nem létezik implementáció egy adott típus egy tagjára. A következő feltételek közül az egyik fennállása esetén érdemes NotImplementedException kivétel helyett ezt használni:

  • Dobja a PlatformNotSupportedException kivételt azokon a platformokon, amelyeken a funkció nem támogatott, ha olyan típust tervezett, amely legalább egy taggal rendelkezik, amely egyes platformokon vagy verziókban elérhető, másokon viszont nem.

  • Dobjon NotSupportedException kivételt, ha egy interfész tag megvalósítása vagy egy absztrakt alaposztály metódusának felülbírálása nem lehetséges.

    A Convert.ToInt32(DateTime) metódus például NotSupportedException kivételt dob, mert nincs értelmes átalakítás a dátum és az idő, valamint a 32 bites aláírt egész szám között. Ebben az esetben a metódusnak jelen kell lennie, mert az Convert osztály implementálja az interfészt IConvertible .

Akkor is kivételt NotSupportedException kell alkalmaznia, ha egy absztrakt alaposztályt implementált, és hozzáad egy új tagot, amelyet felül kell bírálnia a származtatott osztályoknak. Ebben az esetben a tag absztrakttá tétele miatt a meglévő alosztályok nem tudnak betöltődni.

Konstruktorok

Name Description
NotImplementedException()

Inicializálja az osztály új példányát NotImplementedException alapértelmezett tulajdonságokkal.

NotImplementedException(SerializationInfo, StreamingContext)
Elavult.

Inicializálja az NotImplementedException osztály új példányát szerializált adatokkal.

NotImplementedException(String, Exception)

Inicializálja az NotImplementedException osztály új példányát egy megadott hibaüzenettel és a kivétel okaként szolgáló belső kivételre mutató hivatkozással.

NotImplementedException(String)

Inicializálja az NotImplementedException osztály új példányát egy megadott hibaüzenettel.

Tulajdonságok

Name Description
Data

Lekéri a kulcs-/érték párok gyűjteményét, amelyek további, felhasználó által definiált információkat biztosítanak a kivételről.

(Öröklődés forrása Exception)
HelpLink

Lekéri vagy beállítja a kivételhez társított súgófájlra mutató hivatkozást.

(Öröklődés forrása Exception)
HResult

Lekéri vagy beállítja a HRESULT-ot, egy kódolt numerikus értéket, amely egy adott kivételhez van hozzárendelve.

(Öröklődés forrása Exception)
InnerException

Lekéri az Exception aktuális kivételt okozó példányt.

(Öröklődés forrása Exception)
Message

Az aktuális kivételt leíró üzenet jelenik meg.

(Öröklődés forrása Exception)
Source

Lekéri vagy beállítja az alkalmazás vagy a hibát okozó objektum nevét.

(Öröklődés forrása Exception)
StackTrace

Lekéri a hívásverem közvetlen kereteinek sztringképét.

(Öröklődés forrása Exception)
TargetSite

Lekéri az aktuális kivételt okozó metódust.

(Öröklődés forrása Exception)

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetBaseException()

Ha egy származtatott osztály felül van bírálva, egy Exception vagy több későbbi kivétel kiváltó okát adja vissza.

(Öröklődés forrása Exception)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetObjectData(SerializationInfo, StreamingContext)
Elavult.

Ha felül van bírálva egy származtatott osztályban, a SerializationInfo kivétel adatait adja meg.

(Öröklődés forrása Exception)
GetType()

Lekéri az aktuális példány futtatókörnyezeti típusát.

(Öröklődés forrása Exception)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Létrehozza és visszaadja az aktuális kivétel sztring-ábrázolását.

(Öröklődés forrása Exception)

esemény

Name Description
SerializeObjectState
Elavult.

Akkor fordul elő, ha a kivétel szerializálva van egy kivételállapot-objektum létrehozásához, amely szerializált adatokat tartalmaz a kivételről.

(Öröklődés forrása Exception)

A következőre érvényes:

Lásd még