Cómo: Crear excepciones definidas por el usuario
Actualización: noviembre 2007
Si desea que los usuarios puedan distinguir, mediante programación, ciertas condiciones de error de otras, puede crear sus propias excepciones definidas por el usuario. .NET Framework proporciona una jerarquía de clases de excepción que, en última instancia, derivan de la clase base Exception. Cada una de estas clases define una excepción específica, por lo que en muchos casos sólo hay que detectar la excepción. También se pueden crear clases de excepción personalizadas derivándolas de la clase Exception.
Cuando se creen excepciones personalizadas, es recomendable finalizar el nombre de la clase de la excepción definida por el usuario con la palabra "Excepción". También se recomienda implementar los tres constructores comunes recomendados, como se muestra en el ejemplo siguiente.
Nota: |
---|
En los casos en los que se use la interacción remota, se debe garantizar que los metadatos de cualquier excepción definida por el usuario están disponibles en el servidor (destinatario de la llamada) y en el cliente (el objeto proxy o llamador). Por ejemplo, el código que llama a un método de otro dominio de aplicación debe poder encontrar el ensamblado que contiene una excepción producida por una llamada remota. Para obtener más información, vea Procedimientos recomendados para controlar excepciones. |
En el ejemplo siguiente, se deriva una nueva clase de excepción, EmployeeListNotFoundException, de Exception. Se definen tres constructores en la clase, cada uno con parámetros diferentes.
Ejemplo
Imports System
Public Class EmployeeListNotFoundException
Inherits Exception
Public Sub New()
End Sub 'New
Public Sub New(message As String)
MyBase.New(message)
End Sub 'New
Public Sub New(message As String, inner As Exception)
MyBase.New(message, inner)
End Sub 'New
End Class 'EmployeeListNotFoundException
using System;
public class EmployeeListNotFoundException: Exception
{
public EmployeeListNotFoundException()
{
}
public EmployeeListNotFoundException(string message)
: base(message)
{
}
public EmployeeListNotFoundException(string message, Exception inner)
: base(message, inner)
{
}
}
Vea también
Tareas
Cómo: Utilizar el bloque Try/Catch para detectar excepciones
Cómo: Utilizar excepciones específicas en un bloque Catch
Conceptos
Procedimientos recomendados para controlar excepciones