action
signal (to destination)? throw catch-name catch-parameter-listor
signal (to destination)? rethrow
The signal action is used to send a signal to a destination.
The destination, if specified, must be a reference to a sink or
a source. If no destination is specified, the signal will be sent to
#current-output.
The signal throw action behaves as the action throw, except the throw happens in
destination instead of in the current scope. The signal rethrow variant can be used within a
catch clause to resend the caught exception to another destination.
All signals sent to #suppress are silently suppressed. Otherwise, if the destination is a
non-coroutine sink or source, like #main-input for example, the signal action raises a
#program-error.
If destination is a coroutine that cannot catch the exception, the exception propagates to the
coroutine's parent. If none of the destination coroutine's ancestors can catch the exception, the
signal action raises a #program-error instead.