Or possibly a universal catch, with the $@.warning and $@.die or
something, so that you can check it.
Ilya
-Original Message-
From: David Whipp [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, January 08, 2002 7:25 PM
To: Perl6-Language (E-mail)
Subject: catching warnings
Perl6 is going to introduce a non-resumable throw/catch
mechanism to replace die/$@. (I assume that die will be
synonymous with throw, for
compatibility.)
But what about warnings? I frequently find myself wanting to
catch warnings (e.g. to add extra context around a
library's use of undefined value warning; or to die when a
library issues a warning). Its possible to hack this but, as
far as I am aware, there is no clean mechanism for resumable
exceptions. Could perl6 add such a capability? I don't know
what the correct syntax would be, but the pseudo code might look like:
sub foo
{
try
{
$a = undef + 1 # replace this with something more interesting!
}
catch:warn
{
print $(datestamp): $@\n;
resume unless $::warn_count++ 10;
die warning-limit exceeded;
}
}
It doesn't have to be in the core language, but it would be
nice if it was easy to add as a module.
Dave.