summaryrefslogtreecommitdiff
path: root/lispref/errors.texi
blob: aa3dde754d637fa231b0c2ecc33c5149d7befad9 (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
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993 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

  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}.

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

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

@item args-out-of-range
@code{"Args out of range"}@*
@xref{Sequences Arrays Vectors}.

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

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

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

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

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

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

@item file-error
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.@*
@xref{Files}.

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

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

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

@item invalid-function
@code{"Invalid function"}@*
@xref{Classifying Lists}.

@item invalid-read-syntax
@code{"Invalid read syntax"}@*
@xref{Input Functions}.

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

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

@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}
may not be changed.@*
@xref{Constant Variables, , Variables that Never Change}.

@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

  These error types, which are all classified as special cases of
@code{arith-error}, can occur on certain systems for invalid use of
mathematical functions.

@table @code
@item domain-error
@code{"Arithmetic domain error"}@*
@xref{Math Functions}.

@item overflow-error
@code{"Arithmetic overflow error"}@*
@xref{Math Functions}.

@item range-error
@code{"Arithmetic range error"}@*
@xref{Math Functions}.

@item singularity-error
@code{"Arithmetic singularity error"}@*
@xref{Math Functions}.

@item underflow-error
@code{"Arithmetic underflow error"}@*
@xref{Math Functions}.
@end table