This evals the attributd sub, and checks for an eval on the stack if it dies. If there is one then the exception is propagated via "die $@"; if not then cluck is used to dump a stack trace and the error message. Exceptions can be forced through a specific perl function (via A::B) or class call (via Class->method). The tests give examples of various ways to set the calls up. This is useful for sub's that know they throw what should be non-fatal exceptions or for calls inside of long-running processes that need to decide quickly if they have been called properly. It can also be useful for modules that use modules that use Fatal, which can lead to the code issuing exceptions that aren't explicit in the code.