Next: iklib conditions rvarg, Previous: iklib conditions procarg, Up: iklib conditions [Index]
Condition object type representing an invalid value handed as argument
to a procedure application; it is derived from
&procedure-argument-violation.
This condition type has the following fields:
indexOne–based index of the offending operand. It is #f when the
index is unknown.
failed-expressionSymbolic expression representing the predicate used to validate the operand; set to the void object if the expression is not available. When debugging mode is disabled: some code might avoid putting symbolic expressions in this field.
offending-valueThe actual value of the operand. If there are multiple offending
values: this field can be set to (void) and an additional
condition object of type &irritants can be used.
This condition type is meant to be used to signal a wrong argument given
to a procedure performing signature validation; for example
define* and case-define* use it to signal a violation
of the logic predicate specifications.
Build and return a new condition object of type
&procedure-signature-argument-violation.
Return #t if obj is a condition object of type
&procedure-signature-argument-violation; otherwise return #f.
Accessors for the fields of condition objects of type
&procedure-signature-argument-violation.
Raise a compound condition object as non–continuable exception with
component types: &who, &message,
&irritants, &procedure-signature-argument-violation.