Unidad 36. Captura de errores en VB (I)





36.1. Objetivos del tema.

Iniciarse en la gestión de los errores a nivel de programación.

36.2. Introducción.

Todo programa tiene un nivel de calidad.

La calidad vendrá marcada por distintos factores, un buen análisis, una buena depuración, etc..., y un adecuado control y captura de errores.

 

Un programa no debe finalizar nunca de forma brusca, siempre debe tener una salida ante cualquier contingencia, por dos motivos, por elegancia en la programación, y otro, el más importante, porque de esa forma se consigue la posibilidad, si se desea, de dejar un histórico de fallos, que después permitirá obtener datos para la solución de los mismos.

 

En la captura de errores, hay que tener presente que no siempre son errores de ejecución, si no que en muchas ocasiones la única forma de poder tomar la decisión adecuada en un momento determinado, es la de forzar un fallo en el programa, para su captura posterior.

 

En VB disponemos de dos formatos de captura de errores.

 

ON Error GoTo Etiqueta

Try Catch

 

El sistema del On Error, viene heredado de versiones lejanas del Basic de Microsoft, y ahora se denomina sistema no estructurado.

Estructurado o no, es un sistema comodísimo de utilizar, aunque está claro que llamado a su desaparición.

El segundo sistema, el uso de la instrucción Try, es el denominado estructurado.

Tiene como inconveniente la gestión de un sinfín de posibilidades de gestión de errores a las que hay que anticiparse y  prever para su adecuada utilización.

Por otro lado la no escritura de captura de errores es otro sistema de gestión de los mismos, pues eso da como resultado una salida hacia arriba hasta encontrar un procedimiento en la línea de llamadas que si los gestiona.

36.3. On Error.

Como hemos comentado anteriormente  es un antiguo sistema, cómodo y practico.

Tiene distintas variaciones.

Su estructura en un procedimiento o función es

 

Private Sub Ejemplo

On Error Goto Errores

 

 

Salida:

  Exit Sub

 

Errores:

  Select case Err.Number

    Case Codigo_Error

      Resume

    Case Codigo_Error

      Resume Salida

    Case Codigo_Error

      Resume Next

    Case else

      Procedimiento_Salida_Error_Imprevisto

  End select

End Sub

 

La ejecución del procedimiento o función se realiza de manera normal, hasta que se produce una situación de error, en ese momento se desvía la ejecución a la zona de captura de errores donde se trata el mismo, pudiéndose tomar las siguientes opciones según interese:

 

Resume                        Vuelve donde se produce el error

Resume Next                Vuelve a la siguiente instrucción que provocó el error

Resume Etiqueta          Se desvía la ejecución a la etiqueta indicada.

 

Cualquiera de estas posibilidades es factible.

Se suele tener un procedimiento alternativo para la situación imprevista.

El código del procedimiento debe tener la estructura indicada en el ejemplo, de esa manera se abandona el procedimiento de forma normal cuando no hay errores.

 

Salida:

  Exit Sub

 

El disponer de la etiqueta “Salida:”, facilita como opción el desviar la ejecución por tratamiento de error a la salida del procedimiento.

 

  Resume Salida

 

El objeto Err dispone de métodos para facilitar una descripción del error y de su código cara al usuario.

Octubre-2010
Pág. 36.1

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies