NotImplementedException Classe

Definição

A exceção que é lançada quando um método ou operação solicitado não é implementado.

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
Herança
NotImplementedException
Herança
NotImplementedException
Atributos

Exemplos

O exemplo seguinte lança esta exceção para um método que ainda não foi desenvolvido.

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

Observações

A NotImplementedException exceção é lançada quando um determinado método, get accessor ou set accessor está presente como um membro de um tipo, mas não é implementado.

NotImplementedException usa a implementação padrão de Object.Equals, que suporta a igualdade de referência. Para obter uma lista de valores iniciais para uma instância de NotImplementedException, consulte os NotImplementedException construtores.

Lançar a exceção

Pode optar por lançar uma NotImplementedException exceção em propriedades ou métodos nos seus próprios tipos quando um membro ainda estiver em desenvolvimento e só será implementado mais tarde em código de produção.

Gerir a exceção

A NotImplementedException exceção indica que o método ou propriedade que você está tentando invocar não tem implementação e, portanto, não fornece nenhuma funcionalidade. Como resultado, não se deve tratar este erro num bloco try/catch. Em vez disso, você deve remover a invocação de membro do seu código. Você pode incluir uma chamada para o membro quando ela é implementada na versão de produção de uma biblioteca.

Em alguns casos, uma NotImplementedException exceção pode não ser usada para indicar funcionalidades que ainda estão em desenvolvimento numa biblioteca de pré-produção. No entanto, isso ainda indica que a funcionalidade não está disponível e você deve remover a invocação de membro do seu código.

NotImplementedException e outros tipos de exceção

O .NET também inclui dois outros tipos NotSupportedException de exceção e PlatformNotSupportedException, que indicam que não existe implementação para um membro específico de um tipo. Você deve lançar um destes em vez de uma NotImplementedException exceção nas seguintes condições:

  • Lance uma PlatformNotSupportedException exceção em plataformas nas quais a funcionalidade não é suportada se você tiver criado um tipo com um ou mais membros que estão disponíveis em algumas plataformas ou versões, mas não em outras.

  • Lance uma NotSupportedException exceção se a implementação de um membro da interface ou uma substituição para um método de classe base abstrato não for possível.

    Por exemplo, o Convert.ToInt32(DateTime) método lança uma NotSupportedException exceção porque não existe nenhuma conversão significativa entre uma data e hora e um inteiro assinado de 32 bits. O método deve estar presente neste caso porque a Convert classe implementa a IConvertible interface.

Você também deve lançar uma NotSupportedException exceção se tiver implementado uma classe base abstrata e adicionar um novo membro a ela que deve ser substituído por classes derivadas. Nesse caso, tornar o membro abstrato faz com que as subclasses existentes não sejam carregadas.

Construtores

Name Descrição
NotImplementedException()

Inicializa uma nova instância da NotImplementedException classe com propriedades por defeito.

NotImplementedException(SerializationInfo, StreamingContext)
Obsoleto.

Inicializa uma nova instância da NotImplementedException classe com dados serializados.

NotImplementedException(String, Exception)

Inicializa uma nova instância da NotImplementedException classe com uma mensagem de erro especificada e uma referência à exceção interna que é a causa dessa exceção.

NotImplementedException(String)

Inicializa uma nova instância da NotImplementedException classe com uma mensagem de erro especificada.

Propriedades

Name Descrição
Data

Obtém uma coleção de pares chave/valor que fornecem informação adicional definida pelo utilizador sobre a exceção.

(Herdado de Exception)
HelpLink

Obtém ou define um link para o ficheiro de ajuda associado a esta exceção.

(Herdado de Exception)
HResult

Recebe ou define HRESULT, um valor numérico codificado atribuído a uma exceção específica.

(Herdado de Exception)
InnerException

Obtém a Exception instância que causou a exceção atual.

(Herdado de Exception)
Message

Recebe uma mensagem que descreve a exceção atual.

(Herdado de Exception)
Source

Obtém ou define o nome do aplicativo ou o objeto que causa o erro.

(Herdado de Exception)
StackTrace

Obtém uma representação string dos frames imediatos na stack de chamadas.

(Herdado de Exception)
TargetSite

Obtém o método que lança a exceção atual.

(Herdado de Exception)

Métodos

Name Descrição
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetBaseException()

Quando sobrescrito numa classe derivada, devolve o Exception que é a causa raiz de uma ou mais exceções subsequentes.

(Herdado de Exception)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleto.

Quando sobreposto numa classe derivada, define a SerializationInfo informação com sobre a exceção.

(Herdado de Exception)
GetType()

Obtém o tipo de execução da instância atual.

(Herdado de Exception)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Cria e devolve uma representação string da exceção atual.

(Herdado de Exception)

Eventos

Name Descrição
SerializeObjectState
Obsoleto.

Ocorre quando uma exceção é serializada para criar um objeto de estado de exceção que contém dados serializados sobre a exceção.

(Herdado de Exception)

Aplica-se a

Ver também