MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
[janus@cam.org: Re: bf wrappers and error handling]
------- Start of forwarded message -------
Return-Path: nop@ccs.neu.edu
X-Sender: janus@198.168.100.7
In-Reply-To: <AF48529D-8DA6D@199.174.144.42>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Sun, 9 Mar 1997 12:25:30 PST
To: moo-cows@parc.xerox.com
From: Richard Godard <janus@cam.org>
Subject: Re: bf wrappers and error handling
Sender: MOO-Cows-Errors@parc.xerox.com
Precedence: bulk
Resent-From: clue-cows <nop@nop.com>
Errors-To: clue-cows <nop@nop.com>
At 6:41 -0500 09/03/97, Richard Connamacher wrote:
>I'm writing a wrapper to notify(). For it to have the same behavior as
>notify(), it has to be able to raise or return an error depending on
>whether or not it's being run with the 'd' flag set. How do I make sure my
>wrapper has the same behavior?
>
>notify is a common verb to be run -d, because a traceback on it can be
>rather nasty. So should I simply return an error? But then there are
>times when it is run +d on purpose. I need a way to raise or return an
>error depending on its caller's debug status; perhaps a new builtin
>function to do so?
No need for a new builtin-function, verbs should all be +d and use the
error handling constructs. There are not that many places where the
notify() built-in function is used. Changed those place to catch errors.
And make your wrapper raise errors.
>I can always check..
>
>c = callers();
>if (index(verb_info(c[4], c[2])[2], "d"))
> raise(result);
>else
> return result;
>endif
>
>But, that breaks when notify is run from an eval, and uses precious ticks
>in a verb where you want to be using as few as possible.
Very bad idea indeed :)
Richard
------- End of forwarded message -------
Home |
Subject Index |
Thread Index