Explain how to re-throw a signal.

control.texi (Handling Errors): How to re-throw a signal caught
 by condition-case.
This commit is contained in:
Eli Zaretskii 2010-03-31 12:43:53 +03:00
parent 4a217bedd4
commit 7a1831cf75
2 changed files with 20 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2010-03-31 Eli Zaretskii <eliz@gnu.org>
* control.texi (Handling Errors): How to re-throw a signal caught
by condition-case.
2010-03-26 Chong Yidong <cyd@stupidchicken.com>
* loading.texi (Hooks for Loading): Document after-load-functions.

View file

@ -1023,6 +1023,20 @@ error description.
If @var{var} is @code{nil}, that means no variable is bound. Then the
error symbol and associated data are not available to the handler.
@cindex rethrow a signal
Sometimes it is necessary to re-throw a signal caught by
@code{condition-case}, for some outer-level handler to catch. Here's
how to do that:
@smallexample
(signal (car err) (cdr err))
@end smallexample
@noindent
where @code{err} is the error description variable, the first argument
to @code{condition-case} whose error condition you want to re-throw.
@xref{Definition of signal}.
@end defspec
@defun error-message-string error-description
@ -1109,6 +1123,7 @@ Here's the example at the beginning of this subsection rewritten using
@end smallexample
@end defmac
@node Error Symbols
@subsubsection Error Symbols and Condition Names
@cindex error symbol