#### 16.5.2 Condition Abstraction ¶

The condition data type is abstracted through a predicate `condition?` and a set of accessor procedures.

procedure: condition? object ¶

  Returns `#f` if and only if object is not a condition.

procedure: condition/type condition ¶

  Returns the condition type of which condition is an instance.

procedure: condition/error? condition ¶

  Returns `#t` if the condition is an instance of condition type `condition-type:error` or a specialization of it, `#f` otherwise.

procedure: condition/restarts condition ¶

  Returns the list of restarts specified when condition was created.

procedure: condition/continuation condition ¶

  Returns the continuation specified when condition was created. This is provided for inspecting the state of the system when the condition occurred, not for continuing or restarting the computation.

procedure: write-condition-report condition port ¶

  Writes a description of condition to port, using the reporter function from the condition type associated with condition. See also `condition/report-string`.