1. A method for supporting resilient execution of applications written in a programming language with exception handling, the method comprising the steps of: providing a resilient store wherein information in the resilient store can be accessed in the event of a failure; periodically checkpointing an application state in the resilient store; providing a resilient executor which comprises software which executes applications while detecting failures of the executing applications; using the resilient executor to execute at least one application, wherein the resilient executor includes computer code which is part of the at least one application; and in response to the resilient executor detecting a failure, by catching with said computer code at least one exception, restoring application state information from a checkpoint in the resilient store; and the resilient executor resuming execution of the at least one application based on the restored application state information.