All Manuals > LispWorks® User Guide and Reference Manual > 37 The HCL Package

find-throw-tag Function

Summary

The predicate for whether there is a specific catch in the dynamic scope.

Package

hcl

Signature

find-throw-tag tag => result

Arguments
tag
A catch tag.
Values
result
A boolean.
Description

The function find-throw-tag is the predicate for whether there is a catch in the dynamic scope with the supplied catch tag tag, so that cl:throw will succeed to throw to it.

Notes

find-throw-tag needs to traverse all the catch frames on the stack until it finds the tag, and therefore would be slower then checking a dynamically bound variable. If the check needs to be called often, then it is normally better to bind a special variable when the catch is established, and then check that variable. In situations when the check is rare (for example, it is called only in cases of error), using find-throw-tag is better because it eliminates the overhead of binding the special.

See also

throw-if-tag-found


LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:35