elisp: Standard Errors

 
 Appendix F Standard Errors
 **************************
 
 Here is a list of the more important error symbols in standard Emacs,
 grouped by concept.  The list includes each symbol’s message and a cross
 reference to a description of how the error can occur.
 
    Each error symbol has an set of parent error conditions that is a
 list of symbols.  Normally this list includes the error symbol itself
 and the symbol ‘error’.  Occasionally it includes additional symbols,
 which are intermediate classifications, narrower than ‘error’ but
 broader than a single error symbol.  For example, all the errors in
 accessing files have the condition ‘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 ‘quit’ does not have the
 condition ‘error’, because quitting is not considered an error.
 
    Most of these error symbols are defined in C (mainly ‘data.c’), but
 some are defined in Lisp.  For example, the file ‘userlock.el’ defines
 the ‘file-locked’ and ‘file-supersession’ errors.  Several of the
 specialized Lisp libraries distributed with Emacs define their own error
 symbols.  We do not attempt to list of all those here.
 
    SeeErrors, for an explanation of how errors are generated and
 handled.
 
 ‘error’
      The message is ‘error’.  SeeErrors.
 
 ‘quit’
      The message is ‘Quit’.  SeeQuitting.
 
 ‘args-out-of-range’
      The message is ‘Args out of range’.  This happens when trying to
      access an element beyond the range of a sequence, buffer, or other
DONTPRINTYET       container-like object.  SeeSequences Arrays Vectors, and *NoteDONTPRINTYET       container-like object.  SeeSequences Arrays Vectors, and See
      Text.
 
 ‘arith-error’
      The message is ‘Arithmetic error’.  This occurs when trying to
      perform integer division by zero.  SeeNumeric Conversions, and
      SeeArithmetic Operations.
 
 ‘beginning-of-buffer’
      The message is ‘Beginning of buffer’.  SeeCharacter Motion.
 
 ‘buffer-read-only’
      The message is ‘Buffer is read-only’.  SeeRead Only Buffers.
 
 ‘circular-list’
      The message is ‘List contains a loop’.  This happens when a
      circular structure is encountered.  SeeCircular Objects.
 
 ‘cl-assertion-failed’
      The message is ‘Assertion failed’.  This happens when the
      ‘cl-assert’ macro fails a test.  See(cl)Assertions.
 
 ‘coding-system-error’
      The message is ‘Invalid coding system’.  SeeLisp and Coding
      Systems.
 
 ‘cyclic-function-indirection’
      The message is ‘Symbol's chain of function indirections contains a
      loop’.  SeeFunction Indirection.
 
 ‘cyclic-variable-indirection’
      The message is ‘Symbol's chain of variable indirections contains a
      loop’.  SeeVariable Aliases.
 
 ‘dbus-error’
      The message is ‘D-Bus error’.  This is only defined if Emacs was
      compiled with D-Bus support.  See(dbus)Errors and Events.
 
 ‘end-of-buffer’
      The message is ‘End of buffer’.  SeeCharacter Motion.
 
 ‘end-of-file’
      The message is ‘End of file during parsing’.  Note that this is not
      a subcategory of ‘file-error’, because it pertains to the Lisp
      reader, not to file I/O.  SeeInput Functions.
 
 ‘file-already-exists’
      This is a subcategory of ‘file-error’.  SeeWriting to Files.
 
 ‘file-date-error’
      This is a subcategory of ‘file-error’.  It occurs when ‘copy-file’
      tries and fails to set the last-modification time of the output
      file.  SeeChanging Files.
 
 ‘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 ‘file-error’ is
      present.  Thus, the error-strings are not very relevant.  However,
      these error symbols do have ‘error-message’ properties, and if no
      data is provided, the ‘error-message’ property _is_ used.  See
      Files.
 
 ‘compression-error’
      This is a subcategory of ‘file-error’, which results from problems
      handling a compressed file.  SeeHow Programs Do Loading.
 
 ‘file-locked’
      This is a subcategory of ‘file-error’.  SeeFile Locks.
 
 ‘file-supersession’
      This is a subcategory of ‘file-error’.  SeeModification Time.
 
 ‘file-notify-error’
      This is a subcategory of ‘file-error’.  It happens, when a file
      could not be watched for changes.  SeeFile Notifications.
 
 ‘ftp-error’
      This is a subcategory of ‘file-error’, which results from problems
      in accessing a remote file using ftp.  See(emacs)Remote Files.
 
 ‘invalid-function’
      The message is ‘Invalid function’.  SeeFunction Indirection.
 
 ‘invalid-read-syntax’
      The message is ‘Invalid read syntax’.  SeePrinted
      Representation.
 
 ‘invalid-regexp’
      The message is ‘Invalid regexp’.  SeeRegular Expressions.
 
 ‘mark-inactive’
      The message is ‘The mark is not active now’.  SeeThe Mark.
 
 ‘no-catch’
      The message is ‘No catch for tag’.  SeeCatch and Throw.
 
 ‘scan-error’
      The message is ‘Scan error’.  This happens when certain
      syntax-parsing functions find invalid syntax or mismatched
      parentheses.  Conventionally raised with three argument: a
      human-readable error message, the start of the obstacle that cannot
      be moved over, and the end of the obstacle.  SeeList Motion,
      and SeeParsing Expressions.
 
 ‘search-failed’
      The message is ‘Search failed’.  SeeSearching and Matching.
 
 ‘setting-constant’
      The message is ‘Attempt to set a constant symbol’.  This happens
      when attempting to assign values to ‘nil’, ‘t’, and keyword
      symbols.  SeeConstant Variables.
 
 ‘text-read-only’
      The message is ‘Text is read-only’.  This is a subcategory of
      ‘buffer-read-only’.  SeeSpecial Properties.
 
 ‘undefined-color’
      The message is ‘Undefined color’.  SeeColor Names.
 
 ‘user-error’
      The message is the empty string.  SeeSignaling Errors.
 
 ‘void-function’
      The message is ‘Symbol's function definition is void’.  See
      Function Cells.
 
 ‘void-variable’
      The message is ‘Symbol's value as variable is void’.  See
      Accessing Variables.
 
 ‘wrong-number-of-arguments’
      The message is ‘Wrong number of arguments’.  SeeArgument List.
 
 ‘wrong-type-argument’
      The message is ‘Wrong type argument’.  SeeType Predicates.