At 09:44 AM 8/10/00 -0400, Bennett Todd wrote:
>2000-08-10-02:40:41 Perl6 RFC Librarian:
> > RFC 70 proposes that all builtins throw trappable exceptions on
> > error.
>
>Not quite. RFC 70 acknowleges that perl's current behavior is
>preferred by some very focal participants in the language's
>development, and even if it weren't, that switching all builtins to
>throw exceptions is too radical a change.
>
>Rather, RFC 70 proposes that some (I hope!) subtle blemishes on
>perl's innards get polished up a bit, so that all builtins that can
>returns errors, can also be wrapped. If that fix were made, then the
>already-available module Fatal.pm, included with perl releases for
>some time now, could be made to work with all builtins, at which
>point it would be a reasonable amount of additional work to make it
>really easy to change this aspect of perl's behavior. I really hope
>to be starting all my programs with
>
> use Fatal qw(:all);
>
>So, yes, there's a connection between RFC 70 and RFC 80, but I
>submit that it's a little bit looser. If RFC 70 should prevail, then
>Fatal.pm will step into the limelight, and _it_ should be made to
>honor RFC 80 (or whatever ends up specifying the exception classes
>for builtins).
Ah, got it. Now we have actually two types of error from builtins:
Non-trapped (builtins return 0, undef, 1 :-) , n where n < # requests, etc).
RFC 70 wants all these to be turned into optional exceptions if Fatal is used.
Exceptions: the builtin die()s. RFC 80 was actually only thinking about
these, but clearly gets even more power if Fatal is used, when a whole
bunch more exception classes come into play.
I like the way this is going. I'll fix up v2.
--
Peter Scott
Pacific Systems Design Technologies