@c -*-texinfo-*-
@setfilename ../info/errors
@node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top
@appendix Standard Errors

  Here is the complete list of the error symbols in standard Emacs,
grouped by concept.  The list includes each symbol's message (on the
@code{error-message} property of the symbol), and a cross reference to a
description of how the error can occur.

  Each error symbol has an @code{error-conditions} property which is a
list of symbols.  Normally, this list includes the error symbol itself,
and the symbol @code{error}.  Occasionally it includes additional
symbols, which are intermediate classifications, narrower than @code{error}
but broader than a single error symbol.  For example, all the errors
in accessing files have the condition @code{file-error}.

  As a special exception, the error symbol @code{quit} does not have the
condition @code{error}, because quitting is not considered an error.

  @xref{Errors}, for an explanation of how errors are generated and
handled.

@table @code
@item @var{symbol}
@var{string}; @var{reference}.

@item error
@code{"error"}; see @code{error} in @ref{Errors}.

@item quit
@code{"Quit"}; see @ref{Quitting}.

@item args-out-of-range
@code{"Args out of range"};
see @ref{Sequences Arrays Vectors}.

@item arith-error
@code{"Arithmetic error"};
see @code{/} and @code{%} in @ref{Numbers}.

@item beginning-of-buffer
@code{"Beginning of buffer"};
see @ref{Motion}.

@item buffer-read-only
@code{"Buffer is read-only"};
see @ref{Read Only Buffers}.

@item end-of-buffer
@code{"End of buffer"};
see @ref{Motion}.

@item end-of-file
@code{"End of file during parsing"}; see @ref{Input Functions}.
This is not a @code{file-error}.

@item file-error
@xref{Files}.  This error, and its subcategories, do not have
error-strings, because the error message is constructed from the data
items alone when the error condition @code{file-error} is present.

@item file-locked     
@xref{File Locks}.  This is a @code{file-error}.

@item file-already-exists
@xref{Writing to Files}.  This is a @code{file-error}.

@item file-supersession
@xref{Buffer Modification}.  This is a @code{file-error}.

@item invalid-function
@code{"Invalid function"};
see @ref{Classifying Lists}.

@item invalid-read-syntax
@code{"Invalid read syntax"}; see @ref{Input Functions}.

@item invalid-regexp
@code{"Invalid regexp"};
see @ref{Regular Expressions}.

@item no-catch
@code{"No catch for tag"}; see @ref{Catch and Throw}.

@item search-failed
@code{"Search failed"};
see @ref{Searching and Matching}.

@item setting-constant
@code{"Attempt to set a constant symbol"}; the values of the symbols
@code{nil} and @code{t} may not be changed.

@item void-function
@code{"Symbol's function definition is void"};@*
see @ref{Function Cells}.

@item void-variable
@code{"Symbol's value as variable is void"};@*
see @ref{Accessing Variables}.

@item wrong-number-of-arguments
@code{"Wrong number of arguments"};
see @ref{Classifying Lists}.

@item wrong-type-argument
@code{"Wrong type argument"};
see @ref{Type Predicates}.
@end table
