[Gambas-user] Global error management routine

Benoît Minisini gambas at ...1...
Sat May 25 16:03:25 CEST 2013


Le 21/05/2013 16:13, Tobias Boege a écrit :
> Hi Benoit,
>
> when programming a component in C/C++, one can use the error hook to execute
> a function when the interpreter is about to abort because of an error.
>
> In Gambas itself, we only have the local Catch blocks to execute code in
> case of error in this or any context above in the stack.
>
> However, there is no global error handling routine like the above error hook
> available for Gambas programs. It would be handy if the program ultimately
> has to tidy up some of its business before it is killed.
>
> A rather dull example would be the one we initially intended: a Circular
> from gb.data might be good to store program logs because it has a fixed
> size. In case of an unexpected program error we would like to dump this
> Circular. Easy when programming a component in C/C++ but impossible in
> Gambas. AFAIK!
>
> Thoughts?
>
> Regards,
> Tobi
>

Global error management routine has been implemented in revision #5678.

This routine must be a static public method of the startup class, and 
must be named "Application_Error".

Inside this method, you can use the properties of the Error class to get 
information about the error.

If an uncatched error is raised while running Application_Error, then 
the program will abort with that error replacing the old one. Beware, 
this was not tested yet!

The IDE has been modified to try to save all modified files before 
aborting if an error occurs.

Enjoy!

-- 
Benoît Minisini




More information about the User mailing list