Patent ID: 7207047

Claim:
A method for recovering an application from a runtime fault, the method comprising steps of: receiving an exception caused due to a runtime fault in a thread executing an instruction of a C++ based application; dispatching the exception to an exception handler; trapping the exception before the exception reaches the exception handler when the exception handler is a top level exception handler which terminates the application; translating the trapped exception into a C++ exception that the C++ based application is capable of handling, wherein the trapped exception is translated into the C++ exception which is able to be resolved by an application defined C++ exception handler; determining if there is an application based C++ exception handler which is capable of resolving the translated exception; terminating the thread that caused the exception when there is no C++ based exception handler which is capable of resolving the translated exception; calling an application defined callback that supplies application-specific handling which re-executes the instruction and continues at a next line of code of the application; and continuing execution of the application.