Criando exceções personalizadas
As diretrizes a seguir ajudam a garantir que suas exceções personalizadas foram criadas corretamente.
Evite hierarquias de exceção detalhada.
Para obter mais informações, consulte Tipos e Namespaces.
Deriva exceções de sistema.exceção ou uma das outras exceções base comuns.
Observe que Captura e inclusão de tipos de exceção padrão tem uma diretriz que afirma que você não deve derivar exceções personalizadas de ApplicationException.
participante nomes de classe de exceção com o sufixo de exceção.
Convenções de nomenclatura consistentes ajudam a diminuir a curva de aprendizado de novas bibliotecas.
Fazer exceções serializável.Uma exceção deve ser serializável para funcionar corretamente entre os limites de domínio e comunicação remota do aplicativo.
Para obter informações sobre como tornar um tipo serializável, consulte Série.
Fornecem (pelo menos) os construtores seguintes comuns em todas as exceções.Certifique-se de que os nomes e tipos dos parâmetros são os mesmos aqueles usada no exemplo de código seguinte.
Public Class NewException
Inherits BaseException
Implements ISerializable
Public Sub New()
MyBase.New()
' Add implementation.
End Sub
Public Sub New(ByVal message As String)
MyBase.New()
' Add implementation.
End Sub
Public Sub New(ByVal message As String, ByVal inner As Exception)
MyBase.New()
' Add implementation.
End Sub
' This constructor is needed for serialization.
Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext)
MyBase.New()
' Add implementation.
End Sub
End Class
public class NewException : BaseException, ISerializable
{
public NewException()
{
// Add implementation.
}
public NewException(string message)
{
// Add implementation.
}
public NewException(string message, Exception inner)
{
// Add implementation.
}
// This constructor is needed for serialization.
protected NewException(SerializationInfo info, StreamingContext context)
{
// Add implementation.
}
}
Relate informações de sensíveis à segurança por meio de uma substituir de sistema.objeto.ToString somente após solicitando uma permissão apropriada.Se a demanda de permissão falhar, retorne uma seqüência de caracteres que não inclui informações sensíveis à segurança.
Armazenam informações de sensíveis à segurança úteis no estado de exceção particular.Certifique-se de que apenas código confiável pode obter as informações.
Considere fornecer as propriedades de exceção para acesso programático às informações extras (além da cadeia de caracteres da mensagem) relevantes para a exceção.
Partes direitos autorais 2005 Microsoft Corporation. Todos os direitos reservados.
Partes direitos autorais Addison-Wesley Corporation. Todos os direitos reservados.
Para obter mais informações sobre diretrizes de design, consulte a "diretrizes de design do estrutura: Catálogo de convenções, idiomas e padrões para bibliotecas do .NET reutilizável"Krzysztof Cwalina e Brad Abrams, publicado pela Addison-Wesley, 2005.
Consulte também
Conceitos
Escolhendo o tipo correto de exceção para lançar
Outros recursos
Diretrizes de Design para desenvolvimento bibliotecas de classe