[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: CL-Cleanup@sail.stanford.edu
- Subject: UNWIND-PROTECT-CLEANUP-NON-LOCAL-EXIT
- From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Fri, 24 Apr 87 00:49 EDT
- Cc: Charles Hornig <Hornig@ALDERAAN.SCRC.Symbolics.COM>
- In-reply-to: <870423123259.1.HORNIG@WINTER.SCRC.Symbolics.COM>
Here's an opinion on this issue from one of our developers, with an
interesting rationale. I agree with the rationale, which is why I
support either the mentioned proposal or the one that signals an error
and allows the outer THROW to be completed from the debugger.
Date: Thu, 23 Apr 87 12:32 EDT
From: Charles Hornig <Hornig@ALDERAAN.SCRC.Symbolics.COM>
I found KMP's proposal for this and I can now comment effectively. My
personal feelings are that the right proposal for 1 is the one below. I
agree with KMP that 2C is correct for 2.
Some may believe that the throw to BAR is suppressed,
the THROW to FOO should somehow complete, but that XXX would
never be printed.
The important factor here is that I believe that whenever there are two
THROW's in competition, that we should always proceed to the outermost
CATCH. This rule permits a programmer to assume that if he does a THROW
out of a computation that that computation will be exited, one way or
another. This is related to Moon's comment about the programming
environment and aborting.