1. A computerized method comprising: providing language constructs to applications programmers comprising program state reversion constructs; receiving a program representation having one or more program state reversion constructs comprising a reversion indication construct indicating a series of instructions to revert; inserting code into the program comprising, code for recording program state before modifications are made by the series of instructions indicated by the reversion indication construct, and code for reverting program state to the recorded program state when an exception arises from the series of instructions indicated by the reversion indication construct; and executing the program and inserted code comprising, recording program state prior to executing the series of instructions indicated by the reversion indication, and upon generating an exception while executing the series of instructions indicated by the reversion indication, reverting program state according to the recorded program state.