Buy the book!
|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
When Emacs Lisp attempts to evaluate a form that, for some reason, cannot be evaluated, it signals an error.
When an error is signaled, Emacs's default reaction is to print an error message and terminate execution of the current command. This is the right thing to do in most cases, such as if you type C-f at the end of the buffer.
In complicated programs, simple termination may not be what you want.
For example, the program may have made temporary changes in data
structures, or created temporary buffers that should be deleted before
the program is finished. In such cases, you would use
unwind-protect to establish cleanup expressions to be
evaluated in case of error. (See section 10.5.4 Cleaning Up from Nonlocal Exits.) Occasionally, you may
wish the program to continue execution despite an error in a subroutine.
In these cases, you would use
condition-case to establish
error handlers to recover control in case of error.
Resist the temptation to use error handling to transfer control from
one part of the program to another; use
instead. See section 10.5.1 Explicit Nonlocal Exits:
10.5.3.1 How to Signal an Error How to report an error. 10.5.3.2 How Emacs Processes Errors What Emacs does when you report an error. 10.5.3.3 Writing Code to Handle Errors How you can trap errors and continue execution. 10.5.3.4 Error Symbols and Condition Names How errors are classified for trapping them.
|webmaster||delorie software privacy|
|Copyright © 2003 by The Free Software Foundation||Updated Jun 2003|