Share via


Tutorial: Control estructurado de excepciones

Actualización: noviembre 2007

Mientras todavía puede emplear la instrucción On Error para controlar las excepciones en su código a fin de proporcionar control no estructurado de excepciones, Visual Basic 2005 admite también control de excepciones estructurado que puede utilizar para crear y mantener los programas con control de errores completo. En el control estructurado de excepciones, los bloques de código prueban circunstancias específicas y reaccionan en consecuencia.

En este tutorial se muestra cómo puede agregar control estructurado de excepciones a un programa. De forma más específica, muestra cómo utilizar la instrucción Try...Catch...Finally para controlar las excepciones y cómo realizar un filtrado de errores dentro de los bloques Catch.

Nota:

No debe combinar el control de excepciones estructurado con el no estructurado dentro de un mismo procedimiento.

Nota:

Los cuadros de diálogo y comandos de menú que verá en Visual Studio pueden variar con respecto a los descritos en la Ayuda en función de su edición o configuración activa. Para cambiar la configuración, elija Importar y exportar configuraciones en el menú Herramientas. Para obtener más información, consulte Valores de configuración de Visual Studio.

Crear la aplicación

La siguiente aplicación es un formulario de pedidos de clientes de una compañía que vende ositos de peluche. La interfaz de usuario consta de los controles siguientes:

  • Un TextBox para el nombre del cliente.

  • Dos controles ComboBox para seleccionar el color y tamaño del osito.

  • Un Button Pedido.

  • Tres etiquetas que transmiten la finalidad de cada control al usuario.

  • Cuando el usuario escribe la información necesaria y hace clic en el botón Pedido, la aplicación muestra un resumen del pedido.

Para crear la aplicación

  1. En el menú Archivo, seleccione Nuevo proyecto. Aparecerá el cuadro de diálogo Nuevo proyecto.

  2. En la ventana Tipos de proyecto, seleccione Visual Basic y Windows si aún no están seleccionados, seleccione Aplicación para Windows en la ventana Plantillas.

  3. En la ventana Propiedades en Nombre, escriba TeddyBearProject y haga clic en Aceptar. El proyecto se agregará al Explorador de soluciones y se abrirá el Diseñador de Windows Forms.

  4. Agregue los controles al formulario y establezca sus propiedades tal como se especifica.

    Control

    Propiedades

    Valores de la propiedad

    Label

    Name

    Text

    customerLabel

    Formulario de pedido de ositos

    TextBox

    Name

    Text

    customerName

    Nombre del cliente

    Label

    Name

    Text

    bearColorLabel

    Colores disponibles

    ComboBox

    Name

    Items

    Text

    bearColor

    Negro, marrón, con manchas

    Color del osito

    Label

    Name

    Text

    bearSizeLabel

    Tamaños disponibles

    ComboBox

    Name

    Items

    Text

    bearSize

    Pequeño, normal, grande

    Tamaño

    Button

    Name

    Text

    order

    Pedido

Agregar funcionalidad

Ahora que ha agregado al conjunto los controles y sus propiedades, debe colocar código detrás de ellos para que funcionen. El código siguiente controla el evento Click para el botón Pedido y muestra un mensaje al cliente.

Para agregar funcionalidad al formulario y a sus controles

  • Agregue el código siguiente al evento Click del botón Pedido.

    Dim bearOrder As String
    bearOrder = _
      String.Format("You have ordered a {0} {1} bear.", _
      bearSize.SelectedItem, bearColor.SelectedItem)
    MsgBox(bearOrder)
    

Ahora la aplicación está lista para agregarle el código de control estructurado de excepciones.

Agregar un bloque Try...Catch

Para garantizar que el cliente especifica un color de osito, agregue una instrucción Try...Catch. Recuerde lo siguiente:

  • Una cláusula Catch sin identificador captura todas las excepciones.

  • Una cláusula Catch con una cláusula When sólo detecta las excepciones cuando la expresión se evalúa como True; el tipo de expresión debe ser implícitamente convertible a Boolean.

Para agregar un bloque Try...Catch sencillo

  • Agregue el código siguiente al evento Click del botón Pedido después de la sección que prueba los valores de tamaño y color, es decir, después de String.Format ("You have ordered a {0} {1} bear.", BearSize.SelectedItem, BearColor.SelectedItem). Este código produce una excepción si encuentra un valor de color no válido. Para agregar las instrucciones Try, tenga en cuenta que el editor proporciona automáticamente End Try al final de la instrucción.

    Try
        If ((bearColor.SelectedIndex < 0) Or _
              (bearColor.SelectedIndex > 2)) Then
            Throw New System.Exception()
        End If
        ' The Catch statement handles errors caused by a lack of bear color.
    Catch ex As Exception When bearColor.SelectedIndex < 0
        bearOrder = String.Format("You must select a bear color!")
    Finally
        Beep() ' Beep at the end.
    End Try
    

Para agregar una cláusula Catch adicional

  1. Agregue un nuevo elemento, "Violeta", al control ComboBox bearColor.

  2. Agregue el código siguiente después de la línea de código bearOrder = String.Format("You must select a bear color!"):

    Catch ex As Exception When bearColor.SelectedIndex = 3
        bearOrder = String.Format("There are no bears of that color.")
    

Puede agregar tantas cláusulas Catch como sean necesarias al código.

Pruebas

Ahora puede probar la aplicación para asegurarse de que funciona correctamente.

Para generar y ejecutar la aplicación

  1. En el menú Generar, seleccione Generar TeddyBearProject.

  2. Presione F5 para ejecutar la aplicación. Aparecerá el formulario principal.

Para probar la aplicación

  1. Escriba un nombre en el cuadro de texto Nombre del cliente y, a continuación, seleccione un tamaño y color para el osito en los cuadros combinados Colores disponibles y Tamaños disponibles.

  2. Haga clic en el botón Pedido. Si ha seleccionado Negro, Marrón o Con manchas como color en el paso anterior, aparecerá un mensaje especificando el tamaño y color del osito solicitado.

    Si no ha especificado un color, aparecerá un mensaje en el que se le pedirá que lo haga.

  3. Haga clic en Aceptar para cancelar el mensaje.

  4. En el cuadro de texto Colores disponibles, seleccione Violeta y, a continuación, haga clic en el botón Pedido. Aparecerá un mensaje que le indicará que no hay ositos disponibles en ese color.

Vea también

Conceptos

Información general sobre el control estructurado de excepciones de Visual Basic

Referencia

Instrucción On Error (Visual Basic)

Instrucción Try...Catch...Finally (Visual Basic)

Instrucción Throw (Visual Basic)

Otros recursos

Tareas para el control de excepciones