NotImplementedException Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
A exceção gerada 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
- Herança
- Atributos
Exemplos
O exemplo a seguir gera essa exceção para um método que 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
Comentários
A exceção NotImplementedException é gerada quando um determinado método, acessador get ou acessador set está presente como membro de um tipo, mas não é implementado.
NotImplementedException usa a implementação padrão Object.Equals , que dá suporte à igualdade de referência. Para obter uma lista de valores iniciais de uma instância de NotImplementedException, consulte os construtores de NotImplementedException.
Gerar a exceção
Você pode optar por lançar uma NotImplementedException exceção em propriedades ou métodos em seus próprios tipos quando um membro ainda estiver em desenvolvimento e só será implementado posteriormente no código de produção.
Gerar a exceção
A NotImplementedException exceção indica que o método ou a propriedade que você está tentando invocar não tem nenhuma implementação e, portanto, não fornece nenhuma funcionalidade. Como resultado, você não deve tratar esse erro dentro de um bloco try/catch. Em vez disso, você deve remover a invocação de membros do seu código. Você pode incluir uma chamada para o membro quando ela for implementada na versão de produção de uma biblioteca.
Em alguns casos, uma NotImplementedException exceção pode não ser usada para indicar a funcionalidade que ainda está em desenvolvimento em uma biblioteca de pré-produção. No entanto, isso ainda indica que a funcionalidade está indisponível e você deve remover a invocação de membro do código.
NotImplementedException e outros tipos de exceção
O .NET também inclui dois outros tipos de exceção, NotSupportedException e PlatformNotSupportedException, que indicam que não existe nenhuma implementação para um membro específico de um tipo. Você deve gerar um desses em vez de uma exceção NotImplementedException sob as seguintes condições:
Lance uma PlatformNotSupportedException exceção em plataformas nas quais a funcionalidade não é suportada se você tiver projetado um tipo com um ou mais membros disponíveis em algumas plataformas ou versões, mas não em outras.
Gere uma NotSupportedException exceção se a implementação de um membro da interface ou uma substituição a um método de classe base abstrata não for possível.
Por exemplo, o método Convert.ToInt32(DateTime) gera uma exceção NotSupportedException 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 nesse caso porque a Convert classe implementa a IConvertible interface.
Você também deverá gerar 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 falhem ao carregar.
Construtores
| Nome | Description |
|---|---|
| NotImplementedException() |
Inicializa uma nova instância da NotImplementedException classe com propriedades padrão. |
| 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 classe NotImplementedException com uma mensagem de erro especificada. |
Propriedades
| Nome | Description |
|---|---|
| Data |
Obtém uma coleção de pares chave/valor que fornecem informações adicionais definidas pelo usuário sobre a exceção. (Herdado de Exception) |
| HelpLink |
Obtém ou define um link para o arquivo de ajuda associado a essa exceção. (Herdado de Exception) |
| HResult |
Obtém 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 |
Obtém uma mensagem que descreve a exceção atual. (Herdado de Exception) |
| Source |
Obtém ou define o nome do aplicativo ou do objeto que causa o erro. (Herdado de Exception) |
| StackTrace |
Obtém uma representação de cadeia de caracteres dos quadros imediatos na pilha de chamadas. (Herdado de Exception) |
| TargetSite |
Obtém o método que gera a exceção atual. (Herdado de Exception) |
Métodos
| Nome | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetBaseException() |
Quando substituído em uma classe derivada, retorna a Exception causa raiz de uma ou mais exceções subsequentes. (Herdado de Exception) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Obsoleto.
Quando substituído em uma classe derivada, define o SerializationInfo com informações sobre a exceção. (Herdado de Exception) |
| GetType() |
Obtém o tipo de runtime da instância atual. (Herdado de Exception) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToString() |
Cria e retorna uma representação de cadeia de caracteres da exceção atual. (Herdado de Exception) |
Eventos
| Nome | Description |
|---|---|
| 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) |