Iniciarse en la gestión de los errores a nivel de programació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.
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.
Síguenos en: Facebook Sobre aulaClic Política de Cookies