NotImplementedException Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Eccezione generata quando non viene implementato un metodo o un'operazione richiesta.
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
- Ereditarietà
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene generata questa eccezione per un metodo che non è stato sviluppato.
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
Commenti
L'eccezione NotImplementedException viene lanciata quando un particolare metodo, accessor get o accessor set è presente come membro di un tipo ma non viene implementato.
NotImplementedException usa l'implementazione di Object.Equals predefinita, che supporta l'uguaglianza dei riferimenti. Per un elenco dei valori iniziali per un'istanza di NotImplementedException, vedere i NotImplementedException costruttori.
Lanciare l'eccezione
È possibile scegliere di generare un'eccezione NotImplementedException nelle proprietà o nei metodi nei propri tipi quando un membro è ancora in fase di sviluppo e verrà implementato solo in un secondo momento nel codice di produzione.
Gestire l'eccezione
L'eccezione NotImplementedException indica che il metodo o la proprietà che si sta tentando di richiamare non ha implementazione e pertanto non fornisce alcuna funzionalità. Pertanto, non dovresti gestire questo errore in un blocco try/catch. È invece necessario rimuovere la chiamata del membro dal codice. È possibile includere una chiamata al membro quando viene implementata nella versione di produzione di una libreria.
In alcuni casi, potrebbe non essere usata un'eccezione NotImplementedException per indicare le funzionalità ancora in fase di sviluppo in una libreria di preproduzione. Tuttavia, ciò indica comunque che la funzionalità non è disponibile ed è necessario rimuovere la chiamata del membro dal codice.
NotImplementedException e altri tipi di eccezione
.NET include anche altri due tipi di eccezione e NotSupportedExceptionPlatformNotSupportedException, che indicano che non esiste alcuna implementazione per un determinato membro di un tipo. È consigliabile generare una di queste eccezioni invece di un'eccezione NotImplementedException nelle condizioni seguenti:
Generare un'eccezione PlatformNotSupportedException sulle piattaforme in cui la funzionalità non è supportata se è stato progettato un tipo con uno o più membri disponibili in alcune piattaforme o versioni, ma non in altri.
Generare un'eccezione NotSupportedException se l'implementazione di un membro di interfaccia o di un override a un metodo di classe base astratta non è possibile.
Ad esempio, il Convert.ToInt32(DateTime) metodo genera un'eccezione NotSupportedException perché non esiste alcuna conversione significativa tra una data e un'ora e un intero con segno a 32 bit. Il metodo deve essere presente in questo caso perché la Convert classe implementa l'interfaccia IConvertible .
È anche consigliabile generare un'eccezione NotSupportedException se è stata implementata una classe base astratta e aggiungervi un nuovo membro che deve essere sottoposto a override da classi derivate. In tal caso, se si esegue l'astrazione del membro, le sottoclassi esistenti non riescono a essere caricate.
Costruttori
| Nome | Descrizione |
|---|---|
| NotImplementedException() |
Inizializza una nuova istanza della NotImplementedException classe con le proprietà predefinite. |
| NotImplementedException(SerializationInfo, StreamingContext) |
Obsoleti.
Inizializza una nuova istanza della NotImplementedException classe con dati serializzati. |
| NotImplementedException(String, Exception) |
Inizializza una nuova istanza della NotImplementedException classe con un messaggio di errore specificato e un riferimento all'eccezione interna che è la causa di questa eccezione. |
| NotImplementedException(String) |
Inizializza una nuova istanza della NotImplementedException classe con un messaggio di errore specificato. |
Proprietà
| Nome | Descrizione |
|---|---|
| Data |
Ottiene una raccolta di coppie chiave/valore che forniscono informazioni aggiuntive definite dall'utente sull'eccezione. (Ereditato da Exception) |
| HelpLink |
Ottiene o imposta un collegamento al file della Guida associato a questa eccezione. (Ereditato da Exception) |
| HResult |
Ottiene o imposta HRESULT, valore numerico codificato assegnato a un'eccezione specifica. (Ereditato da Exception) |
| InnerException |
Ottiene l'istanza Exception che ha causato l'eccezione corrente. (Ereditato da Exception) |
| Message |
Ottiene un messaggio che descrive l'eccezione corrente. (Ereditato da Exception) |
| Source |
Ottiene o imposta il nome dell'applicazione o dell'oggetto che causa l'errore. (Ereditato da Exception) |
| StackTrace |
Ottiene una rappresentazione di stringa dei fotogrammi immediati nello stack di chiamate. (Ereditato da Exception) |
| TargetSite |
Ottiene il metodo che genera l'eccezione corrente. (Ereditato da Exception) |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetBaseException() |
Quando sottoposto a override in una classe derivata, restituisce l'oggetto Exception che rappresenta la causa radice di una o più eccezioni successive. (Ereditato da Exception) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Obsoleti.
In caso di override in una classe derivata, imposta con le SerializationInfo informazioni sull'eccezione. (Ereditato da Exception) |
| GetType() |
Ottiene il tipo di runtime dell'istanza corrente. (Ereditato da Exception) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Crea e restituisce una rappresentazione di stringa dell'eccezione corrente. (Ereditato da Exception) |
Eventi
| Nome | Descrizione |
|---|---|
| SerializeObjectState |
Obsoleti.
Si verifica quando viene serializzata un'eccezione per creare un oggetto stato dell'eccezione contenente dati serializzati sull'eccezione. (Ereditato da Exception) |