Re: Control De Errores Global
Un tema interesante.
A ver como sale esto:
Me creo una clase ClaseError con el siguiente contenido:
Citar:
inherits error
Ahora en un módulo de la aplicacion marcado como clase de inicio hago lo siguiente
Ahora en cada formulario o clase debería haber una única función para tratar el error. Es muy cierto lo que dice JGuardón. El error persiste en el formulario o clase pero luego muere. Lo que pasa es que el error puede propagarse dentro del formulario o clase.
Osea que si yo tengo una función que tiene un catch y un finally y en esa función llamo a otra función que no lo tiene y esta llama a otra función que tampoco lo tiene (una función nieto) y en esta ocurre el error lo que ocurriŕa es que el error se propagará y saltará en el catch inicial.
Osea que si yo programo ese catch inicial debería valer.
Este debería se el catch
Er.Backtrace=error.backtrace 'pasar la pila de llamadas (que función hija de función, hija de función, de que clase)
Er.Class=error.class 'en que clase ha ocurrido el error
Er.Code=error.Code 'el código del error
Er.Text=error.text 'el mensaje del error
Er.Where=error.where 'línea donde ocurrió el error
En la clse ClaseError podríamos crear propiedades adicionales o métodos apropiados para el tratamiento de ese error según queramos.
El catch y el finaly por tanto deberían ir en alguna función de tipo superior. No puedo probar ahora pero la cosa sería que al ocurrir un error en alguna función que no tiene tratamiento de error salte a la función padre o abuelo o lo que sea. El error terminará cuando corresponda pero la clase ErrorClase que contiene toda la información persistirá.
Creo que eso o algo muy parecido deberia funcionarl