>>>>> "PS" == Peter Scott <[EMAIL PROTECTED]> writes:
PS> From the reactions on this thread so far I am wondering whether the
PS> message I sent out about it when it had a different name got
PS> through. Relevant excerpt:
PS> Well, you could certainly have a pragma that makes throw set $! to the
PS> message and does a return undef. But that will only return from the
PS> current subroutine; there could be a bunch of module subroutines between
PS> that one and the module user. Asking module programmers to keep straight
PS> two possible flows of control in error situations, no less, is asking for
PS> trouble. If you think it can be made easier, can you show an example?
Actually, why not simply unwind the call stack to the routine that
has the pragma active.
sub foo {use exception; &baz()}
sub baz { throw "a fit" }
sub bar {
no exception;
&foo();
}
The unwind logic would treat a scope with no exception set _as if_
each call were wrapped in at try block.
PS> ***But it's entirely up to each programmer whether or not they use
PS> Fatal-checking*** This is the Perl way anyway.
Fatal checking, is for core functions. And optional for module authors.
Then Fatal.pm and exception.pm could possibly be consolidated.
<chaim>
--
Chaim Frenkel Nonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183