One sure fire way is to hook the application.onException event.

The prototype is:-

procedure (sender:TObject;e:exception) of object;

Any unhandled exception else where in the code will be caught by this... or thats the theory. If you are using threads or anything like that, its not guaranteed.

What you do with the exception once its in there is up to you.