Share this page
Share this page E-mail this page Print this page RSS feeds
Home > Publications > Integrating support for undo with exception handling
Integrating support for undo with exception handling

One of the important tasks of exception handling is to restore program state and invariants. Studies suggest that this is often done incorrectly. We introduce a new language construct that integrates automated memory recovery with exception handling. When an exception occurs, memory can be automatically restored to its previous state. We also provide a mechanism for applications to extend the automatic recovery mechanism with callbacks for restoring the state of external resources. We describe a logging-based implementation and evaluate its effect on performance. The implementation imposes no overhead on parts of the code that do not make use of this feature.

tr-2004-140.pdf
PDF file
tr-2004-140.ps
PostScript file

Details

Type: TechReport
Number: MSR-TR-2004-140
Pages: 13
Institution: Microsoft Research