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

TRY
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

try orden
if error then
message.error( "Ha habido un error ")
endif


error.clear
Borra la información de un error anterior en la clase error.

error.raise

Catch
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.

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

Ejemplo

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