[795] in Coldmud discussion meeting
Re: exception handling...
daemon@ATHENA.MIT.EDU (Thu Aug 31 19:07:46 1995
)
Date: Thu, 31 Aug 1995 18:56:25 -0400 (EDT)
From: James C Deikun <jcdst10+@pitt.edu>
To: 869683 Gillespie Brandon James <brandon@smithfield.declab.usu.edu>
Cc: coldstuff@MIT.EDU
In-Reply-To: <9508312224.AA04443@smithfield.declab.usu.edu>
On Thu, 31 Aug 1995, 869683 Gillespie Brandon James wrote:
> < This isn't an exception handler, it's a switch statement.
>
> No, it is both. Yes, I'm aware of its similarity with a switch statement,
> but it is cleaner and more succinct than the current method, in conjunction
> with a switch, ala:
[deletia]
Hm, you seem to be missing my point. Why do this:
> for obj in (list) {
> catch {
> obj.query_test();
> } handle ~locked {
> sender().print("Object is locked.");
> } handle others {
> sender().print("Error: " + toliteral(error) + " encountered!");
> } finally {
> sender().print("Test is sucessful for: " + obj.name());
> valid = valid + [obj];
> }
> }
with a test predicate that throws exceptions, rather than a switch
statement with a predicate returning values (or even an
exception-throwing one wrapped up as a critical expression)?
> Like I said, its mainly a small change. However, my goal is to get it
> to a 3-stage handler, rather than the 2-stage one it is at now. I.e.
> currently you have "error->oops, do this", Richelieu brought up that it
> would be nice to do 3 stages, ala "error, try this, otherwise this". I'm
> just having a hard time finding a good way to do it.
I'm not sure what you mean by this.
--
James "attack the stack" Deikun