Checked errors.texi
[bpt/emacs.git] / doc / lispref / errors.texi
CommitLineData
b8d4c8d0
GM
1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual.
4bb82fa8 3@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
b8d4c8d0 4@c See the file elisp.texi for copying conditions.
6336d8c3 5@setfilename ../../info/errors
b8d4c8d0
GM
6@node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top
7@appendix Standard Errors
8@cindex standard errors
9
7e05b1ec 10 Here is a list of the more important error symbols in standard Emacs,
b8d4c8d0
GM
11grouped by concept. The list includes each symbol's message (on the
12@code{error-message} property of the symbol) and a cross reference to a
13description of how the error can occur.
14
15 Each error symbol has an @code{error-conditions} property that is a
16list of symbols. Normally this list includes the error symbol itself
17and the symbol @code{error}. Occasionally it includes additional
18symbols, which are intermediate classifications, narrower than
19@code{error} but broader than a single error symbol. For example, all
20the errors in accessing files have the condition @code{file-error}. If
21we do not say here that a certain error symbol has additional error
22conditions, that means it has none.
23
24 As a special exception, the error symbol @code{quit} does not have the
25condition @code{error}, because quitting is not considered an error.
26
7e05b1ec
GM
27@c You can grep for "(put 'foo 'error-conditions ...) to find
28@c examples defined in Lisp. Eg soap-client.el, sasl.el.
29 Most of these error symbols are defined in C (mainly @file{data.c}),
30but some are defined in Lisp. For example, the file @file{userlock.el}
31defines the @code{file-locked} and @code{file-supersession} errors.
32Several of the specialized Lisp libraries distributed with Emacs
33define their own error symbols. We do not attempt to list of all
34those here.
35
b8d4c8d0
GM
36 @xref{Errors}, for an explanation of how errors are generated and
37handled.
38
39@table @code
b8d4c8d0
GM
40@item error
41@code{"error"}@*
42@xref{Errors}.
43
44@item quit
45@code{"Quit"}@*
46@xref{Quitting}.
47
48@item args-out-of-range
49@code{"Args out of range"}@*
50This happens when trying to access an element beyond the range of a
51sequence or buffer.@*
52@xref{Sequences Arrays Vectors}, @xref{Text}.
53
54@item arith-error
55@code{"Arithmetic error"}@*
56@xref{Arithmetic Operations}.
57
58@item beginning-of-buffer
59@code{"Beginning of buffer"}@*
60@xref{Character Motion}.
61
62@item buffer-read-only
63@code{"Buffer is read-only"}@*
64@xref{Read Only Buffers}.
65
4bb82fa8
GM
66@item circular-list
67@code{"List contains a loop"}@*
7e05b1ec
GM
68This happens when some operations (e.g. resolving face names)
69encounter circular structures.@*
70@xref{Circular Objects}.
71
72@item cl-assertion-failed
73@code{"Assertion failed"}@*
74This happens when the @code{assert} macro fails a test.@*
75@xref{Assertions,,, cl, Common Lisp Extensions}.
4bb82fa8 76
b8d4c8d0
GM
77@item coding-system-error
78@code{"Invalid coding system"}@*
79@xref{Lisp and Coding Systems}.
80
81@item cyclic-function-indirection
5338dc0b 82@code{"Symbol's chain of function indirections contains a loop"}@*
b8d4c8d0
GM
83@xref{Function Indirection}.
84
85@item cyclic-variable-indirection
5338dc0b 86@code{"Symbol's chain of variable indirections contains a loop"}@*
b8d4c8d0
GM
87@xref{Variable Aliases}.
88
4bb82fa8
GM
89@item dbus-error
90@code{"D-Bus error"}@*
91This is only defined if Emacs was compiled with D-Bus support.@*
92@xref{Errors and Events,,, dbus, D-Bus integration in Emacs}.
93
b8d4c8d0
GM
94@item end-of-buffer
95@code{"End of buffer"}@*
96@xref{Character Motion}.
97
98@item end-of-file
99@code{"End of file during parsing"}@*
100Note that this is not a subcategory of @code{file-error},
101because it pertains to the Lisp reader, not to file I/O.@*
102@xref{Input Functions}.
103
104@item file-already-exists
105This is a subcategory of @code{file-error}.@*
106@xref{Writing to Files}.
107
108@item file-date-error
109This is a subcategory of @code{file-error}. It occurs when
110@code{copy-file} tries and fails to set the last-modification time of
111the output file.@*
112@xref{Changing Files}.
113
114@item file-error
115We do not list the error-strings of this error and its subcategories,
116because the error message is normally constructed from the data items
117alone when the error condition @code{file-error} is present. Thus,
118the error-strings are not very relevant. However, these error symbols
119do have @code{error-message} properties, and if no data is provided,
120the @code{error-message} property @emph{is} used.@*
121@xref{Files}.
122
7e05b1ec
GM
123@c jka-compr.el
124@item compression-error
125This is a subcategory of @code{file-error}, which results from
126problems handling a compressed file.@*
127@xref{How Programs Do Loading}.
128
129@c userlock.el
b8d4c8d0
GM
130@item file-locked
131This is a subcategory of @code{file-error}.@*
132@xref{File Locks}.
133
7e05b1ec 134@c userlock.el
b8d4c8d0
GM
135@item file-supersession
136This is a subcategory of @code{file-error}.@*
137@xref{Modification Time}.
138
7e05b1ec 139@c net/ange-ftp.el
b8d4c8d0
GM
140@item ftp-error
141This is a subcategory of @code{file-error}, which results from problems
142in accessing a remote file using ftp.@*
143@xref{Remote Files,,, emacs, The GNU Emacs Manual}.
144
145@item invalid-function
146@code{"Invalid function"}@*
147@xref{Function Indirection}.
148
149@item invalid-read-syntax
150@code{"Invalid read syntax"}@*
151@xref{Printed Representation}.
152
153@item invalid-regexp
154@code{"Invalid regexp"}@*
155@xref{Regular Expressions}.
156
7e05b1ec 157@c simple.el
b8d4c8d0
GM
158@item mark-inactive
159@code{"The mark is not active now"}@*
160@xref{The Mark}.
161
162@item no-catch
163@code{"No catch for tag"}@*
164@xref{Catch and Throw}.
165
4bb82fa8 166@ignore
7e05b1ec 167@c Not actually used for anything? Probably definition should be removed.
4bb82fa8
GM
168@item protected-field
169@code{"Attempt to modify a protected field"}
170@end ignore
171
b8d4c8d0
GM
172@item scan-error
173@code{"Scan error"}@*
174This happens when certain syntax-parsing functions
175find invalid syntax or mismatched parentheses.@*
176@xref{List Motion}, and @ref{Parsing Expressions}.
177
178@item search-failed
179@code{"Search failed"}@*
180@xref{Searching and Matching}.
181
182@item setting-constant
183@code{"Attempt to set a constant symbol"}@*
184The values of the symbols @code{nil} and @code{t},
185and any symbols that start with @samp{:},
186may not be changed.@*
187@xref{Constant Variables, , Variables that Never Change}.
188
7e05b1ec 189@c simple.el
b8d4c8d0
GM
190@item text-read-only
191@code{"Text is read-only"}@*
192This is a subcategory of @code{buffer-read-only}.@*
193@xref{Special Properties}.
194
195@item undefined-color
196@code{"Undefined color"}@*
197@xref{Color Names}.
198
199@item void-function
200@code{"Symbol's function definition is void"}@*
201@xref{Function Cells}.
202
203@item void-variable
204@code{"Symbol's value as variable is void"}@*
205@xref{Accessing Variables}.
206
207@item wrong-number-of-arguments
208@code{"Wrong number of arguments"}@*
209@xref{Classifying Lists}.
210
211@item wrong-type-argument
212@code{"Wrong type argument"}@*
213@xref{Type Predicates}.
214@end table
215
4bb82fa8 216 The following kinds of error, which are classified as special cases of
b8d4c8d0 217@code{arith-error}, can occur on certain systems for invalid use of
4bb82fa8 218mathematical functions. @xref{Math Functions}.
b8d4c8d0
GM
219
220@table @code
221@item domain-error
4bb82fa8 222@code{"Arithmetic domain error"}
b8d4c8d0
GM
223
224@item overflow-error
225@code{"Arithmetic overflow error"}@*
4bb82fa8 226This is a subcategory of @code{domain-error}.
b8d4c8d0
GM
227
228@item range-error
4bb82fa8 229@code{"Arithmetic range error"}
b8d4c8d0
GM
230
231@item singularity-error
232@code{"Arithmetic singularity error"}@*
4bb82fa8 233This is a subcategory of @code{domain-error}.
b8d4c8d0
GM
234
235@item underflow-error
236@code{"Arithmetic underflow error"}@*
4bb82fa8 237This is a subcategory of @code{domain-error}.
b8d4c8d0 238@end table