Printing Conditions (original) (raw)

ANSI Common Lisp 9 Conditions 9.1 Condition System Concepts

9.1.3 Printing Conditions

If the :report argument to define-condition is used, a print function is defined that is called whenever the defined condition is printed while the value of *print-escape* is false. This function is called the condition reporter; the text which it outputs is called a report message.

When a condition is printed and *print-escape*is false, the condition reporter for the condition is invoked.Conditions are printed automatically by functions such asinvoke-debugger, break, and warn.

When *print-escape* is true, the object should print in an abbreviated fashion according to the style of the implementation (e.g., by print-unreadable-object). It is not required that a_condition_ can be recreated by reading its printed representation.

No function is provided for directly _accessing_or invoking condition reporters.

9.1.3.1 Recommended Style in Condition Reporting