MOO-cows Mailing List Archive
Date: Mon, 2 Sep 1996 20:31:56 PDT
From: Richard Connamacher <email@example.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
I'm in the process of creating bf_read and bf_notify hackers. Here's the
read() and notify() are tricky verbs to create bf wrappers for. The
wrappers must never traceback, or else Very, Very Bad Things happen.
Hence, they are -d and never call any verbs that do not reside on #0.
read() and notify() must, in accordance with documentation and
compatibility with existing verbs, raise E_PERM, E_INVARG, or E_NARGS if
called certain ways. This is impossible to do with a -d bf wrapper.
IMHO, raise() should override the -d status of a verb. I see no reason
why it shouldn't, and there must be some way to raise an error from a -d
verb, such as the case of my bf_notify verb. I _really_ don't want to put
error handlers around each and every single line in bf_notify out of fear
that it may cause a traceback and the afore mentioned Very, Very Bad
I thought I read somewhere about how when a bf handler explicitly raises
an error, the traceback makes it appear as if the bf function itself
raised the error.. guess not.
Subject Index |