Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



sábado, 29 de noviembre de 2014

Tratamiento de excepciones: Try, Error, Finally y Catch


Tratamiento de excepciones: 

Try, Error, Finally y Catch

 El tema de excepciones tiene mucha "miga"... se le puede sacar mucho partido, aunque hay que saberlas manejar.

Como hemos vistos muchas veces el TRY resulta muy peligroso ya que "oculta" los errores, y casi siempre, deberia de estar acompañado por un "IF ERROR THEN ...." para tratar el error "ocultadado", (si ha ocurrido)

Os dejo aqui un video tutorial y ejemplo del uso de excepciones, con gambas3 aunque es aplicable a otros lenguajes Python, Java, etc.




Descarga del código de ejemplo:  codigo fuente
 
 
Public Sub ButtonAbrirArchivo_Click()

Dim b As Integer
Dim a As Integer

Try File.Load(TextBoxRutaNombre.text)
'aqui se pueden producir un error!!!
If Error Then
Message.Info("no existe archivo o carpeta")
Endif

Try a = 209 / 0 'otro error!!!
If Error Then
Message.Info("has dividido entre cero")
Endif

b = 334 / 0

Finally
Print "siempre se ejecuta esta linea"

Catch
Print "esta linea se ejecuta si se produce un error, informe del error:"
Print Error.Code
Print Error.Text
Print Error.Where

End

 Resumiendo:
Try: oculta el error que se produzca en la instruccion y hace que no se ejecute el Catch (del error que ha ocultado Try)

if error then :
nos ayuda a tratar o informar sobre el error producido, de la linea anterior (try)

Finally:
la lineas que vengan a continuación de esta linea se ejecutan, aunque se haya producido un error.

Catch: si se produce  un error,(y este no esta ocultado por "try"), ejecuta las lineas de codigo que venga a continuacion del catch