NotImplementedException Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- Herança
- 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) |