NotImplementedException Classe

Définition

Exception levée lorsqu'une méthode ou une opération demandée n'est pas implémentée.

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
Héritage
NotImplementedException
Héritage
NotImplementedException
Attributs

Exemples

L’exemple suivant lève cette exception pour une méthode qui n’a pas été développée.

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

Remarques

L’exception NotImplementedException est levée lorsqu’une méthode particulière, un accesseur get ou un accesseur set est présent en tant que membre d’un type, mais n’est pas implémenté.

NotImplementedException utilise l’implémentation par défaut Object.Equals , qui prend en charge l’égalité des références. Pour obtenir la liste des valeurs initiales d’une instance de NotImplementedException, consultez les NotImplementedException constructeurs.

Levée de l’exception

Vous pouvez choisir de lever une NotImplementedException exception dans les propriétés ou méthodes de vos propres types lorsque le membre est toujours en cours de développement et ne sera implémenté que plus tard dans le code de production. En d’autres termes, une NotImplementedException exception doit être synonyme de « toujours en développement ».

Gestion de l’exception

L’exception NotImplementedException indique que la méthode ou la propriété que vous essayez d’appeler n’a pas d’implémentation et ne fournit donc aucune fonctionnalité. Par conséquent, vous ne devez pas gérer cette erreur dans un try/catch bloc. Au lieu de cela, vous devez supprimer l’appel de membre de votre code. Vous pouvez inclure un appel au membre lorsqu’il est implémenté dans la version de production d’une bibliothèque.

Dans certains cas, une NotImplementedException exception peut ne pas être utilisée pour indiquer les fonctionnalités qui sont toujours en cours de développement dans une bibliothèque de préproduction. Toutefois, cela indique toujours que la fonctionnalité n’est pas disponible et que vous devez supprimer l’appel de membre de votre code.

NotImplementedException et autres types d’exceptions

Le .NET Framework inclut également deux autres types d’exceptions et NotSupportedException PlatformNotSupportedException, qui indiquent qu’aucune implémentation n’existe pour un membre particulier d’un type. Vous devez lever l’une de ces exceptions au lieu d’une NotImplementedException exception dans les conditions suivantes.

PlatformNotSupportedException Exception
Si vous avez conçu un type avec un ou plusieurs membres disponibles sur certaines plateformes ou dans certaines versions, mais pas sur d’autres, vous pouvez lever cette exception sur les plateformes sur lesquelles la fonctionnalité n’est pas prise en charge.

NotSupportedException Exception
Lève une NotSupportedException exception si l’implémentation d’un membre d’interface ou d’une substitution à une méthode de classe de base abstraite n’est pas possible. Par exemple, la Convert.ToInt32(DateTime) méthode lève une exception, car aucune conversion significative entre une NotSupportedException date et une heure et un entier signé 32 bits existe. La méthode doit être présente dans ce cas, car la Convert classe implémente l’interface IConvertible .

Vous devez également lever une NotSupportedException exception si vous avez implémenté une classe de base abstraite et ajouter un nouveau membre à celui-ci qui doit être remplacé par des classes dérivées. Dans ce cas, rendre le membre abstrait entraîne l’échec du chargement des sous-classes existantes.

Constructeurs

NotImplementedException()

Initialise une nouvelle instance de la classe NotImplementedException avec des propriétés par défaut.

NotImplementedException(SerializationInfo, StreamingContext)

Initialise une nouvelle instance de la classe NotImplementedException avec des données sérialisées.

NotImplementedException(String)

Initialise une nouvelle instance de la classe NotImplementedException avec un message d'erreur spécifié.

NotImplementedException(String, Exception)

Initialise une nouvelle instance de la classe NotImplementedException avec un message d'erreur spécifié et une référence à l'exception interne ayant provoqué cette exception.

Propriétés

Data

Obtient une collection de paires clé/valeur qui fournissent des informations définies par l'utilisateur supplémentaires sur l'exception.

(Hérité de Exception)
HelpLink

Obtient ou définit un lien vers le fichier d'aide associé à cette exception.

(Hérité de Exception)
HResult

Obtient ou définit HRESULT, valeur numérique codée qui est assignée à une exception spécifique.

(Hérité de Exception)
InnerException

Obtient l'instance Exception qui a provoqué l'exception actuelle.

(Hérité de Exception)
Message

Obtient un message qui décrit l'exception active.

(Hérité de Exception)
Source

Obtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur.

(Hérité de Exception)
StackTrace

Obtient une représentation sous forme de chaîne des frames immédiats sur la pile des appels.

(Hérité de Exception)
TargetSite

Obtient la méthode qui lève l'exception actuelle.

(Hérité de Exception)

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetBaseException()

En cas de substitution dans une classe dérivée, retourne la Exception qui est à l'origine d'une ou de plusieurs exceptions ultérieures.

(Hérité de Exception)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetObjectData(SerializationInfo, StreamingContext)

En cas de substitution dans une classe dérivée, définit SerializationInfo avec des informations sur l'exception.

(Hérité de Exception)
GetType()

Obtient le type au moment de l'exécution de l'instance actuelle.

(Hérité de Exception)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Crée et retourne une chaîne représentant l'exception actuelle.

(Hérité de Exception)

Événements

SerializeObjectState
Obsolète.

Se produit quand une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées concernant l'exception.

(Hérité de Exception)

S’applique à

Voir aussi