]> code.delx.au - gnu-emacs/blob - doc/lispref/errors.texi
Don't use FILE_SYSTEM_CASE in MS-DOS, or anywhere else.
[gnu-emacs] / doc / lispref / errors.texi
1 @c -*-texinfo-*-
2 @c This is part of the GNU Emacs Lisp Reference Manual.
3 @c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
4 @c See the file elisp.texi for copying conditions.
5 @setfilename ../../info/errors
6 @node Standard Errors, Standard Keymaps, GNU Emacs Internals, Top
7 @appendix Standard Errors
8 @cindex standard errors
9
10 Here is a list of the more important error symbols in standard Emacs,
11 grouped 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
13 description of how the error can occur.
14
15 Each error symbol has an @code{error-conditions} property that is a
16 list of symbols. Normally this list includes the error symbol itself
17 and the symbol @code{error}. Occasionally it includes additional
18 symbols, which are intermediate classifications, narrower than
19 @code{error} but broader than a single error symbol. For example, all
20 the errors in accessing files have the condition @code{file-error}. If
21 we do not say here that a certain error symbol has additional error
22 conditions, that means it has none.
23
24 As a special exception, the error symbol @code{quit} does not have the
25 condition @code{error}, because quitting is not considered an error.
26
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}),
30 but some are defined in Lisp. For example, the file @file{userlock.el}
31 defines the @code{file-locked} and @code{file-supersession} errors.
32 Several of the specialized Lisp libraries distributed with Emacs
33 define their own error symbols. We do not attempt to list of all
34 those here.
35
36 @xref{Errors}, for an explanation of how errors are generated and
37 handled.
38
39 @table @code
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"}@*
50 This happens when trying to access an element beyond the range of a
51 sequence 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
66 @item circular-list
67 @code{"List contains a loop"}@*
68 This happens when some operations (e.g. resolving face names)
69 encounter circular structures.@*
70 @xref{Circular Objects}.
71
72 @item cl-assertion-failed
73 @code{"Assertion failed"}@*
74 This happens when the @code{assert} macro fails a test.@*
75 @xref{Assertions,,, cl, Common Lisp Extensions}.
76
77 @item coding-system-error
78 @code{"Invalid coding system"}@*
79 @xref{Lisp and Coding Systems}.
80
81 @item cyclic-function-indirection
82 @code{"Symbol's chain of function indirections contains a loop"}@*
83 @xref{Function Indirection}.
84
85 @item cyclic-variable-indirection
86 @code{"Symbol's chain of variable indirections contains a loop"}@*
87 @xref{Variable Aliases}.
88
89 @item dbus-error
90 @code{"D-Bus error"}@*
91 This is only defined if Emacs was compiled with D-Bus support.@*
92 @xref{Errors and Events,,, dbus, D-Bus integration in Emacs}.
93
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"}@*
100 Note that this is not a subcategory of @code{file-error},
101 because it pertains to the Lisp reader, not to file I/O.@*
102 @xref{Input Functions}.
103
104 @item file-already-exists
105 This is a subcategory of @code{file-error}.@*
106 @xref{Writing to Files}.
107
108 @item file-date-error
109 This is a subcategory of @code{file-error}. It occurs when
110 @code{copy-file} tries and fails to set the last-modification time of
111 the output file.@*
112 @xref{Changing Files}.
113
114 @item file-error
115 We do not list the error-strings of this error and its subcategories,
116 because the error message is normally constructed from the data items
117 alone when the error condition @code{file-error} is present. Thus,
118 the error-strings are not very relevant. However, these error symbols
119 do have @code{error-message} properties, and if no data is provided,
120 the @code{error-message} property @emph{is} used.@*
121 @xref{Files}.
122
123 @c jka-compr.el
124 @item compression-error
125 This is a subcategory of @code{file-error}, which results from
126 problems handling a compressed file.@*
127 @xref{How Programs Do Loading}.
128
129 @c userlock.el
130 @item file-locked
131 This is a subcategory of @code{file-error}.@*
132 @xref{File Locks}.
133
134 @c userlock.el
135 @item file-supersession
136 This is a subcategory of @code{file-error}.@*
137 @xref{Modification Time}.
138
139 @c net/ange-ftp.el
140 @item ftp-error
141 This is a subcategory of @code{file-error}, which results from problems
142 in 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
157 @c simple.el
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
166 @ignore
167 @c Not actually used for anything? Probably definition should be removed.
168 @item protected-field
169 @code{"Attempt to modify a protected field"}
170 @end ignore
171
172 @item scan-error
173 @code{"Scan error"}@*
174 This happens when certain syntax-parsing functions
175 find 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"}@*
184 The values of the symbols @code{nil} and @code{t},
185 and any symbols that start with @samp{:},
186 may not be changed.@*
187 @xref{Constant Variables, , Variables that Never Change}.
188
189 @c simple.el
190 @item text-read-only
191 @code{"Text is read-only"}@*
192 This 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
216 The following kinds of error, which are classified as special cases of
217 @code{arith-error}, can occur on certain systems for invalid use of
218 mathematical functions. @xref{Math Functions}.
219
220 @table @code
221 @item domain-error
222 @code{"Arithmetic domain error"}
223
224 @item overflow-error
225 @code{"Arithmetic overflow error"}@*
226 This is a subcategory of @code{domain-error}.
227
228 @item range-error
229 @code{"Arithmetic range error"}
230
231 @item singularity-error
232 @code{"Arithmetic singularity error"}@*
233 This is a subcategory of @code{domain-error}.
234
235 @item underflow-error
236 @code{"Arithmetic underflow error"}@*
237 This is a subcategory of @code{domain-error}.
238 @end table