Robert Smith over at Symbo1ics Ideas has a very nice introduction to restarts in Common Lisp. Restarts are a part of the CL error system (more accurately, part of the CL condition system) and provide a way to recover from errors even if they happen in code that is far away from where the error is handled. The example that Smith gives assumes that the code where the error occurs is in a third party library but that the vendor has provided scaffolding to allow graceful recovery from errors.
If you’re new to Lisp or if you aren’t a Lisp user but want to see how error handling can be done right, head on over and take a look at Smith’s post. If you want more after reading Smith’s post, Chapter 19 of Peter Seibel’s excellent Practical Common Lisp gives a reasonably comprehensive introduction to the Common Lisp condition system.