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 IntegerDim a As IntegerTry File.Load(TextBoxRutaNombre.text)'aqui se pueden producir un error!!!If Error ThenMessage.Info("no existe archivo o carpeta")EndifTry a = 209 / 0 'otro error!!!If Error ThenMessage.Info("has dividido entre cero")Endifb = 334 / 0FinallyPrint "siempre se ejecuta esta linea"CatchPrint "esta linea se ejecuta si se produce un error, informe del error:"Print Error.CodePrint Error.TextPrint Error.WhereEnd
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