summaryrefslogtreecommitdiff
path: root/doc/lispref/errors.texi
blob: fcf4ec24af7d5cbac8706ed6ffbfc9578012b128 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../../info/errors
@node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top
@appendix Standard Errors
@cindex 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 that 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}.  If
we do not say here that a certain error symbol has additional error
conditions, that means it has none.

  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 error
@code{"error"}@*
@xref{Errors}.

@item quit
@code{"Quit"}@*
@xref{Quitting}.

@item args-out-of-range
@code{"Args out of range"}@*
This happens when trying to access an element beyond the range of a
sequence or buffer.@*
@xref{Sequences Arrays Vectors}, @xref{Text}.

@item arith-error
@code{"Arithmetic error"}@*
@xref{Arithmetic Operations}.

@item beginning-of-buffer
@code{"Beginning of buffer"}@*
@xref{Character Motion}.

@item buffer-read-only
@code{"Buffer is read-only"}@*
@xref{Read Only Buffers}.

@ignore
@item circular-list
@code{"List contains a loop"}@*
@end ignore

@item coding-system-error
@code{"Invalid coding system"}@*
@xref{Lisp and Coding Systems}.

@item cyclic-function-indirection
@code{"Symbol's chain of function indirections contains a loop"}@*
@xref{Function Indirection}.

@item cyclic-variable-indirection
@code{"Symbol's chain of variable indirections contains a loop"}@*
@xref{Variable Aliases}.

@item dbus-error
@code{"D-Bus error"}@*
This is only defined if Emacs was compiled with D-Bus support.@*
@xref{Errors and Events,,, dbus, D-Bus integration in Emacs}.

@item end-of-buffer
@code{"End of buffer"}@*
@xref{Character Motion}.

@item end-of-file
@code{"End of file during parsing"}@*
Note that this is not a subcategory of @code{file-error},
because it pertains to the Lisp reader, not to file I/O.@*
@xref{Input Functions}.

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

@item file-date-error
This is a subcategory of @code{file-error}.  It occurs when
@code{copy-file} tries and fails to set the last-modification time of
the output file.@*
@xref{Changing Files}.

@item file-error
We do not list the error-strings of this error and its subcategories,
because the error message is normally constructed from the data items
alone when the error condition @code{file-error} is present.  Thus,
the error-strings are not very relevant.  However, these error symbols
do have @code{error-message} properties, and if no data is provided,
the @code{error-message} property @emph{is} used.@*
@xref{Files}.

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

@item file-supersession
This is a subcategory of @code{file-error}.@*
@xref{Modification Time}.

@item ftp-error
This is a subcategory of @code{file-error}, which results from problems
in accessing a remote file using ftp.@*
@xref{Remote Files,,, emacs, The GNU Emacs Manual}.

@item invalid-function
@code{"Invalid function"}@*
@xref{Function Indirection}.

@item invalid-read-syntax
@code{"Invalid read syntax"}@*
@xref{Printed Representation}.

@item invalid-regexp
@code{"Invalid regexp"}@*
@xref{Regular Expressions}.

@item mark-inactive
@code{"The mark is not active now"}@*
@xref{The Mark}.

@item no-catch
@code{"No catch for tag"}@*
@xref{Catch and Throw}.

@ignore
@item protected-field
@code{"Attempt to modify a protected field"}
@end ignore

@item scan-error
@code{"Scan error"}@*
This happens when certain syntax-parsing functions
find invalid syntax or mismatched parentheses.@*
@xref{List Motion}, and @ref{Parsing Expressions}.

@item search-failed
@code{"Search failed"}@*
@xref{Searching and Matching}.

@item setting-constant
@code{"Attempt to set a constant symbol"}@*
The values of the symbols @code{nil} and @code{t},
and any symbols that start with @samp{:},
may not be changed.@*
@xref{Constant Variables, , Variables that Never Change}.

@item text-read-only
@code{"Text is read-only"}@*
This is a subcategory of @code{buffer-read-only}.@*
@xref{Special Properties}.

@item undefined-color
@code{"Undefined color"}@*
@xref{Color Names}.

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

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

@item wrong-number-of-arguments
@code{"Wrong number of arguments"}@*
@xref{Classifying Lists}.

@item wrong-type-argument
@code{"Wrong type argument"}@*
@xref{Type Predicates}.
@end table

  The following kinds of error, which are classified as special cases of
@code{arith-error}, can occur on certain systems for invalid use of
mathematical functions.  @xref{Math Functions}.

@table @code
@item domain-error
@code{"Arithmetic domain error"}

@item overflow-error
@code{"Arithmetic overflow error"}@*
This is a subcategory of @code{domain-error}.

@item range-error
@code{"Arithmetic range error"}

@item singularity-error
@code{"Arithmetic singularity error"}@*
This is a subcategory of @code{domain-error}.

@item underflow-error
@code{"Arithmetic underflow error"}@*
This is a subcategory of @code{domain-error}.
@end table