chickadee » srfi-35 » condition

(condition <type-field-binding> ...)syntax

This creates a condition value. Each <type-field-binding> must be of the form ( <condition-type> <field-binding> ...) Each <field-binding> must be of the form (<field> <exp>) where <field> is a field identifier from the definition of <condition-type>.

The <exp> are evaluated in some unspecified order; their values can later be extracted from the condition object via the accessors of the associated condition types or their supertypes.

The condition returned by condition is created by a call of form

(make-compound-condition
  (make-condition <condition-type> '<field-name> <value>...)
  ...)

with the condition types retaining their order from thecondition form. The field names and values are duplicated as necessary as described below.

Each <type-field-binding> must contain field bindings for all fields of <condition-type> without duplicates. There is an exception to this rule: if a field binding is missing, and the field belongs to a supertype shared with one of the other <type-field-binding> subforms, then the value defaults to that of the first such binding in the condition form.