Compartir a través de


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

Otros recursos

Fundamentos del control de excepciones