Function: ignore-error
ignore-error is a macro defined in subr.el.gz.
Signature
(ignore-error CONDITION &rest BODY)
Documentation
Execute BODY; if the error CONDITION occurs, return nil.
Otherwise, return result of last form in BODY.
CONDITION can also be a list of error conditions. The CONDITION argument is not evaluated. Do not quote it.
Probably introduced at or before Emacs version 27.1.
Source Code
;; Defined in /usr/src/emacs/lisp/subr.el.gz
(defmacro ignore-error (condition &rest body)
"Execute BODY; if the error CONDITION occurs, return nil.
Otherwise, return result of last form in BODY.
CONDITION can also be a list of error conditions.
The CONDITION argument is not evaluated. Do not quote it."
(declare (debug t) (indent 1))
(cond
((and (eq (car-safe condition) 'quote)
(cdr condition) (null (cddr condition)))
(macroexp-warn-and-return
(format-message
"`ignore-error' condition argument should not be quoted: %S"
condition)
`(condition-case nil (progn ,@body) (,(cadr condition) nil))
nil t condition))
(body
`(condition-case nil (progn ,@body) (,condition nil)))
(t
(macroexp-warn-and-return (format-message "`ignore-error' with empty body")
nil '(empty-body ignore-error) t condition))))