NotImplementedException Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Výjimka, která se vyvolá, když není implementována požadovaná metoda nebo operace.
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
- Dědičnost
- Dědičnost
- Atributy
Příklady
Následující příklad vyvolá tuto výjimku pro metodu, která nebyla vyvinuta.
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
Poznámky
Výjimka NotImplementedException je vyvolána, když je konkrétní metoda, get accessor nebo set accessor přítomna jako člen typu, ale není implementována.
NotImplementedException používá výchozí implementaci Object.Equals, která podporuje rovnost odkazů. Seznam počátečních hodnot pro instanci NotImplementedExceptionnaleznete v NotImplementedException konstruktorech.
Vyvolejte výjimku
Můžete se rozhodnout vyvolat NotImplementedException výjimku ve vlastnostech nebo metodách ve vašich vlastních typech, pokud je člen stále ve vývoji a bude implementován pouze později v produkčním kódu.
Zpracujte výjimku
Výjimka NotImplementedException označuje, že metoda nebo vlastnost, kterou se pokoušíte vyvolat, nemá žádnou implementaci, a proto neposkytuje žádné funkce. V důsledku toho byste tuto chybu neměli zpracovat v try/catch bloku. Místo toho byste měli ze svého kódu odebrat vyvolání člena. Volání člena můžete zahrnout při jeho implementaci v produkční verzi knihovny.
V některých případech NotImplementedException se výjimka nemusí použít k označení funkcí, které jsou stále ve vývoji v předprodukční knihovně. To ale stále znamená, že funkce není k dispozici a měli byste ze svého kódu odebrat vyvolání člena.
NotImplementedException a další typy výjimek
.NET obsahuje také dva další typy výjimek a NotSupportedExceptionPlatformNotSupportedException, které označují, že pro konkrétního člena typu neexistuje žádná implementace. Jednu z těchto možností byste měli vyvolat místo NotImplementedException výjimky za následujících podmínek:
PlatformNotSupportedException Vyvolání výjimky na platformách, na kterých se funkce nepodporuje, pokud jste navrhli typ s jedním nebo více členy, které jsou dostupné na některých platformách nebo verzích, ale ne u jiných.
Vyvolejte výjimku, pokud implementace člena rozhraní nebo přepsání metody abstraktní základní třídy není možná.
Například metoda Convert.ToInt32(DateTime) vyvolá výjimku NotSupportedException, protože neexistuje smysluplný převod mezi datem a časem a 32bitovým podepsaným celým číslem. V tomto případě musí být přítomna metoda, protože Convert třída implementuje IConvertible rozhraní.
Pokud jste implementovali abstraktní základní třídu a přidali do ní nový člen, který musí být přepsán odvozenými třídami, měli byste také vyvolat NotSupportedException výjimku. V takovém případě, aby člen abstraktní způsobí selhání načtení existujících podtříd.
Konstruktory
| Name | Description |
|---|---|
| NotImplementedException() |
Inicializuje novou instanci NotImplementedException třídy s výchozími vlastnostmi. |
| NotImplementedException(SerializationInfo, StreamingContext) |
Zastaralé.
Inicializuje novou instanci NotImplementedException třídy serializovanými daty. |
| NotImplementedException(String, Exception) |
Inicializuje novou instanci NotImplementedException třídy se zadanou chybovou zprávou a odkazem na vnitřní výjimku, která je příčinou této výjimky. |
| NotImplementedException(String) |
Inicializuje novou instanci NotImplementedException třídy se zadanou chybovou zprávou. |
Vlastnosti
| Name | Description |
|---|---|
| Data |
Získá kolekci párů klíč/hodnota, které poskytují další uživatelem definované informace o výjimce. (Zděděno od Exception) |
| HelpLink |
Získá nebo nastaví odkaz na soubor nápovědy přidružený k této výjimce. (Zděděno od Exception) |
| HResult |
Získá nebo nastaví HRESULT, kódovanou číselnou hodnotu, která je přiřazena ke konkrétní výjimce. (Zděděno od Exception) |
| InnerException |
Exception Získá instanci, která způsobila aktuální výjimku. (Zděděno od Exception) |
| Message |
Získá zprávu, která popisuje aktuální výjimku. (Zděděno od Exception) |
| Source |
Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu. (Zděděno od Exception) |
| StackTrace |
Získá řetězcové znázornění okamžitých rámců v zásobníku volání. (Zděděno od Exception) |
| TargetSite |
Získá metodu, která vyvolá aktuální výjimku. (Zděděno od Exception) |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetBaseException() |
Při přepsání v odvozené třídě vrátí Exception to, že je původní příčinou jedné nebo více následných výjimek. (Zděděno od Exception) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Zastaralé.
Při přepsání v odvozené třídě nastaví SerializationInfo s informacemi o výjimce. (Zděděno od Exception) |
| GetType() |
Získá typ modulu runtime aktuální instance. (Zděděno od Exception) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vytvoří a vrátí řetězcovou reprezentaci aktuální výjimky. (Zděděno od Exception) |
Událost
| Name | Description |
|---|---|
| SerializeObjectState |
Zastaralé.
Nastane, když je výjimka serializována vytvořit objekt stavu výjimky, který obsahuje serializovaná data o výjimce. (Zděděno od Exception) |