5.7.06

Control de errores


Una de las características fundamentales que pueden hacer que un programa sea mucho más eficaz es la correcta gestión de errores. El programa perfecto, es decir sin errores, no existe, y un correcto tratamiento puede salvarte ante un cliente. No es lo mismo que el programa desparezca sin más (o provoque un error de Windows por ejemplo) o bien que avise del problema, dando información al programador de cual ha podido ser la causa para que lo solucione.

Cuando diseñé un sistema de tratamiento de errores sencillo y fácil para Visual Basic estuve mirando varios ejemplos en internet y casi ninguno me gustó. Desde funciones que volcaban el contenido de la pila, las llamadas de las funciones hasta el típico mensage de "Error no controlado"; al final, y como casi siempre, decidí hacerlo yo.

Al final opté por lo más sencillo, mostrar el mensaje de error indicando además desde que formulario y que función ha provocado el error. Así es mucho más fácil localizar la posible causa del error y corregirlo. Os dejo el codigo por si os interesa:


Public Sub GPErrores(strForm As String, strFuncion As String)

Screen.MousePointer = vbDefault

' *** Se muestra el error

If Err.Number <> 0 Then

Select Case Err.Number

Case Else
MsgBox "Error no controlado:" & Err.Number & vbCrLf & _
"Descripción:" & Err.Description & vbCrLf & _
"Causa:" & Err.Source &amp; vbCrLf & "Formulario: " & strForm & vbCrLf &amp; _
"Funcion: " & strFuncion, vbCritical
'End

End Select
Err.Clear ' *** Borramos el error

End If
End Sub

4 comentarios:

Anónimo dijo...

Mucho controlas de informática pero dejas mucho que desear en ortografía... mensaJe se escribe con J de "Joe, pa eso te han pagao tus padres una educación" jejeje

Unknown dijo...

muchas coñitas... espero que algún día no la cagues tú...

Anónimo dijo...

Al margen del de la J, me parece bien. Es inadmisible en un programa que diga "error descontroloado", "error desconocido" o cosa parecida. Si se aplica eso a otros órdenes de la vida...
La gestión de errores es lo más difícil de la informática y lo más necesario de la informática. Incluso para facilitar el trabajo a otros porque el 80 % DEL TRABAJO DE UN PROGRAMADOR ES CORREGIR PROGRAMAS ¡¡¡¡DE OTROS!!!
Admás, Apli

Unknown dijo...

Que razón tienes. Lo malo es que nos hemos acostumbrado al "error desconocido" y nos parece de lo más normal (incluso no le damos importancia). ¿Y si eso lo hiciera un coche por ejemplo?