Compartir a través de


Tutorial: Control estructurado de excepciones (Visual Basic)

Aunque todavía puede emplear la instrucción On Error para controlar las excepciones del código a fin de proporcionar control no estructurado de excepciones, Visual Basic 2005 admite también el control de excepciones estructurado, que se puede usar para crear y mantener los programas con un 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

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea 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 solicitada 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 propiedad

    Label

    Name

    Texto

    customerLabel

    Formulario de pedido de ositos

    TextBox

    Name

    Texto

    customerName

    Nombre del cliente

    Label

    Name

    Texto

    bearColorLabel

    Colores disponibles

    ComboBox

    Name

    Items

    Texto

    bearColor

    Negro, marrón, con manchas

    Color del osito

    Label

    Name

    Texto

    bearSizeLabel

    Tamaños disponibles

    ComboBox

    Name

    Items

    Texto

    bearSize

    Pequeño, normal, grande

    Size

    Button

    Name

    Texto

    order

    Orden

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 OrElse
           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

Referencia

Instrucción On Error (Visual Basic)

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

Throw (Instrucción, Visual Basic)

Conceptos

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

Otros recursos

Tareas de control de excepciones (Visual Basic)