NotImplementedException Classe

Definição

A exceção que é lançada quando uma operação ou um método solicitado não é implementado.The exception that is thrown when a requested method or operation is not implemented.

public ref class NotImplementedException : SystemException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class NotImplementedException : SystemException
type NotImplementedException = class
    inherit SystemException
Public Class NotImplementedException
Inherits SystemException
Herança
NotImplementedException
Atributos

Exemplos

O exemplo a seguir gera essa exceção para um método que não foi desenvolvido.The following example throws this exception for a method that has not been developed.

static void Main(string[] args)
{
    try
    {
        FutureFeature();
    }
    catch (NotImplementedException notImp)
    {
        Console.WriteLine(notImp.Message);
    }
}

static void FutureFeature()
{
    // Not developed yet.
    throw new NotImplementedException();
}
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

Comentários

A NotImplementedException exceção é gerada quando um método específico, o acessador get ou o acessador set está presente como um membro de um tipo, mas não é implementado.The NotImplementedException exception is thrown when a particular method, get accessor, or set accessor is present as a member of a type but is not implemented.

NotImplementedExceptionusa a implementação Object.Equals padrão, que dá suporte à igualdade de referência.NotImplementedException uses the default Object.Equals implementation, which supports reference equality. Para obter uma lista de valores iniciais para uma instância NotImplementedExceptiondo, consulte NotImplementedException os construtores.For a list of initial values for an instance of NotImplementedException, see the NotImplementedException constructors.

Gerando a exceçãoThrowing the exception

Você pode optar por lançar uma NotImplementedException exceção em Propriedades ou métodos em seus próprios tipos quando o membro ainda estiver em desenvolvimento e será posteriormente implementado somente no código de produção.You might choose to throw a NotImplementedException exception in properties or methods in your own types when the that member is still in development and will only later be implemented in production code. Em outras palavras, uma NotImplementedException exceção deve ser sinônimo de "ainda em desenvolvimento".In other words, a NotImplementedException exception should be synonymous with "still in development."

Manipulando a exceçãoHandling the exception

A NotImplementedException exceção indica que o método ou a propriedade que você está tentando invocar não tem implementação e, portanto, não fornece nenhuma funcionalidade.The NotImplementedException exception indicates that the method or property that you are attempting to invoke has no implementation and therefore provides no functionality. Como resultado, você não deve tratar esse erro em um try/catch bloco.As a result, you should not handle this error in a try/catch block. Em vez disso, você deve remover a invocação de membro do seu código.Instead, you should remove the member invocation from your code. Você pode incluir uma chamada para o membro quando ele é implementado na versão de produção de uma biblioteca.You can include a call to the member when it is implemented in the production version of a library.

Em alguns casos, uma NotImplementedException exceção não pode ser usada para indicar a funcionalidade que ainda está em desenvolvimento em uma biblioteca de pré-produção.In some cases, a NotImplementedException exception may not be used to indicate functionality that is still in development in a pre-production library. No entanto, isso ainda indica que a funcionalidade está indisponível e você deve remover a invocação de membro do seu código.However, this still indicates that the functionality is unavailable, and you should remove the member invocation from your code.

NotImplementedException e outros tipos de exceçãoNotImplementedException and other exception types

O .NET Framework também inclui dois outros tipos de exceção NotSupportedException , PlatformNotSupportedExceptione, que indicam que não existe implementação para um determinado membro de um tipo.The .NET Framework also includes two other exception types, NotSupportedException and PlatformNotSupportedException, that indicate that no implementation exists for a particular member of a type. Você deve lançar um deles em vez de uma NotImplementedException exceção sob as condições a seguir.You should throw one of these instead of a NotImplementedException exception under the following conditions.

PlatformNotSupportedExceptionExceptionPlatformNotSupportedException exception
Se você tiver criado um tipo com um ou mais membros que estão disponíveis em algumas plataformas ou em algumas versões, mas não em outras, poderá gerar essa exceção em plataformas nas quais a funcionalidade não tem suporte.If you've designed a type with one or more members that are available on some platforms or in some versions but not on others, you can throw this exception on platforms on which the functionality is not supported.

NotSupportedExceptionExceptionNotSupportedException exception
Gerar uma NotSupportedException exceção se a implementação de um membro de interface ou uma substituição para um método de classe base abstrata não for possível.Throw a NotSupportedException exception if the implementation of an interface member or an override to an abstract base class method is not possible. Por exemplo, o Convert.ToInt32(DateTime) método gera uma NotSupportedException exceção porque nenhuma conversão significativa entre uma data e hora e um inteiro com sinal de 32 bits existe.For example, the Convert.ToInt32(DateTime) method throws a NotSupportedException exception because no meaningful conversion between a date and time and a 32-bit signed integer exists. O método deve estar presente nesse caso porque a Convert classe implementa a IConvertible interface.The method must be present in this case because the Convert class implements the IConvertible interface.

Você também deverá lançar uma NotSupportedException exceção se tiver implementado uma classe base abstrata e adicionar um novo membro a ela que deve ser substituída por classes derivadas.You should also throw a NotSupportedException exception if you've implemented an abstract base class and add a new member to it that must be overridden by derived classes. Nesse caso, tornar o membro abstrato causa falha no carregamento de subclasses existentes.In that case, making the member abstract causes existing subclasses to fail to load.

Construtores

NotImplementedException()

Inicializa uma nova instância da classe NotImplementedException com propriedades padrão.Initializes a new instance of the NotImplementedException class with default properties.

NotImplementedException(SerializationInfo, StreamingContext)

Inicializa uma nova instância da classe NotImplementedException com dados serializados.Initializes a new instance of the NotImplementedException class with serialized data.

NotImplementedException(String)

Inicializa uma nova instância da classe NotImplementedException com uma mensagem de erro especificada.Initializes a new instance of the NotImplementedException class with a specified error message.

NotImplementedException(String, Exception)

Inicializa uma nova instância da classe NotImplementedException com uma mensagem de erro especificada e uma referência à exceção interna que é a causa da exceção.Initializes a new instance of the NotImplementedException class with a specified error message and a reference to the inner exception that is the cause of this exception.

Propriedades

Data

Obtém uma coleção de pares de chave/valor que fornecem informações adicionais definidas pelo usuário sobre a exceção.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Herdado de Exception)
HelpLink

Obtém ou define um link para o arquivo de ajuda associado a essa exceção.Gets or sets a link to the help file associated with this exception.

(Herdado de Exception)
HResult

Obtém ou define HRESULT, um valor numérico codificado que é atribuído a uma exceção específica.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Herdado de Exception)
InnerException

Obtém a instância Exception que causou a exceção atual.Gets the Exception instance that caused the current exception.

(Herdado de Exception)
Message

Obtém uma mensagem que descreve a exceção atual.Gets a message that describes the current exception.

(Herdado de Exception)
Source

Obtém ou define o nome do aplicativo ou objeto que causa o erro.Gets or sets the name of the application or the object that causes the error.

(Herdado de Exception)
StackTrace

Obtém uma representação de cadeia de caracteres de quadros imediatos na pilha de chamadas.Gets a string representation of the immediate frames on the call stack.

(Herdado de Exception)
TargetSite

Obtém o método que gerou a exceção atual.Gets the method that throws the current exception.

(Herdado de Exception)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetBaseException()

Quando substituído em uma classe derivada, retorna a Exception que é a causa raiz de uma ou mais exceções subsequentes.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Herdado de Exception)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Quando substituído em uma classe derivada, define o SerializationInfo com informações sobre a exceção.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Herdado de Exception)
GetType()

Obtém o tipo de tempo de execução da instância atual.Gets the runtime type of the current instance.

(Herdado de Exception)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Cria e retorna uma representação de cadeia de caracteres da exceção atual.Creates and returns a string representation of the current exception.

(Herdado de Exception)

Eventos

SerializeObjectState

Ocorre quando uma exceção é serializada para criar um objeto de estado de exceção que contém dados serializados sobre a exceção.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Herdado de Exception)

Aplica-se a

Veja também