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. >