Programming language support for integrating undo and exception handling

  • Avraham Shinnar ,
  • David Tarditi ,
  • Mark Plesko ,
  • Bjarne Steensgaard

U.S. Patent 7,607,125, filed November 11, 2004.  Existing methods for returning program state to a previous state are often too heavy weight. Often these methods attempt to guarantee a series of properties to a programmer across a distributed environment or multiple threads. Instead, a program state reversion mechanism provides a light weight and efficient runtime solution for general purpose programming languages. For example, a series of program statements (e.g., methods, instructions, etc.) are indicated by a programmer in a state reversion language construct, such as a TryAll block. If an exception is thrown anywhere from within the TryAll block, the program is reverted to the pre-TryAll block state.