GNU Info

Info Node: (elisp)Errors

(elisp)Errors


Next: Cleanups Prev: Examples of Catch Up: Nonlocal Exits
Enter node , (file) or (file)node

Errors
------

   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.
(Note: Cleanups.)  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 `catch' and `throw' instead.
Note: Catch and Throw.

Signaling Errors
How to report an error.
Processing of Errors
What Emacs does when you report an error.
Handling Errors
How you can trap errors and continue execution.
Error Symbols
How errors are classified for trapping them.

automatically generated by info2www version 1.2.2.9