develooper Front page | perl.perl6.language | Postings from January 2002

catching warnings

Thread Previous | Thread Next
From:
David Whipp
Date:
January 8, 2002 19:26
Subject:
catching warnings
Message ID:
000501c198bd$30fecb50$926464c4@intranet.fastchip.com
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.


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About