https://foro.gambas-es.org/viewtopic.php?f=1&t=25&p=49#p49
-----------------------------------
soplo
Lunes, 14 Septiembre 2009, 17:19

Control De Errores
-----------------------------------
El control de errores se realiza en Gambas mediante una sentencia que intenta ejecutar una determinada orden y ejecuta un bloque de código en caso de que ocurriera error

[color=darkred]TRY[/color]
Intenta ejecutar una  orden especificada . Si se genera un error, su código queda almacenado en error.class. 

Las siguientes propiedades quedan actualizadas
error.class ====> clase donde el error ocurrió
error.code ====> código de error
error.text ====> descripción del error
error.where ====> línea  donde ocurrió el error

[code linenumbers=false]try  orden
if  error  then
   message.error( "Ha habido un error ")
endif
[/code]

[color=darkred]error.clear[/color]
Borra  la información  de un error anterior en la clase error.

[color=darkred]error.raise[/color]

[color=darkred]Catch[/color]
Indica  el comienzo de código para  tratar errores en la rutina  actual. Solo se entra en este bloque cuando ha ocurrido un error. Si no hay un Catch  en la rutina actual, pero lo hay en la rutina padre, se utilizará  este.

[color=darkred]finally[/color]
Bloque de código que se ejecutará  tanto si ha habido error como si no lo ha habido. Debe preceder siempre a Catch

[size=14][color=darkgreen]Ejemplo[/color][/size]

[code linenumbers=false syntax=gambas]Dim  A, B, C  as  Integer
A = 5
B = 0
C = A/ B
Finally
    Message.Info("este código se ejecuta siempre")

Catch
    ' catch "caza" los errores
    Message.Error(Subst$("Clase :  &1, Error: &2  en linea &3.\nTexto del error: &4.",  
                          Error.Class, Error.Code, Error.Where,  Error.Text))[/code]


