Chapter 7
Conditions
Overview
The Dylan exception system is built on top of an underlying signal system. Together, the signal system and the exception system comprise the Dylan condition system.
At the signal layer, the condition system provides a way of establishing a run-time connection between a signaler and a handler through a condition. This is essentially a run-time analog to the more usual fixed connection between a caller and a callee established through function-name matching. This layer of the condition system is little more than a way to locate and call a function. The function call does not necessarily involve any exceptional situation or nonlocal flow of control.
At the exception layer, the condition system specifies a set of protocols for categorizing
and handling exceptional situations through recovery
or exit. This higher layer provides overall structure,
eliminates the possibility of failing to notice an exceptional situation, and provides a
clean separation between normal code
and code for dealing with exceptions.
The nonlocal exit and clean-up features of the block
statement are often used
in conjunction with the facilities described in this chapter. block
is
described on page 404.