On Sun, Jun 1, 2008 at 7:31 PM, Paul Fenwick <[EMAIL PROTECTED]> wrote:
> Currently, when testing exceptions from autodie, we can use:
>
> given ($@) {
> when (undef) { say "No errors here" }
> when ('open') { say "Open died" }
> when (':file') { say "Some sort of file error" }
> when (':io') { say "Some other error" }
> when (':CORE') { say "Some other CORE error" }
> when (':USER') { say "A non-CORE error" }
> when (':all') { say "Any autodie exception at all." }
> default { say "Not an autodie exception." }
> }
If you're going to write that into some documentation, I wish you'd
make default say that it's exception suicide.
given( my $_ = $@ ) {
...
default { say '$@ committed suicide' }
}
Semi-recently at work I found that a few buggy exception objects in
the global $@ were clearing themselves out of $@ as a side effect of
examining them for truth. It's quite annoying and mysterious when it
happens.
Josh