Terminate gracefully after unhandled exception

Whenever someone is not handling his code properly exceptions are
thrown. When these terminate the application at a random time, there has
to be a way for others to clean up there current state before shutting
down. So the application has to catch all unhandled exceptions and tell
anybody that is interested that the service is going to halt.
More tasks