NotImplementedException Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
- Öröklődés
- 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) |