MOO-cows Mailing List Archive

[Prev][Next][Index][Thread]

bf wrappers



I'm in the process of creating bf_read and bf_notify hackers.  Here's the
rub:

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
Things.

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.

Phantom



Follow-Ups:

Home | Subject Index | Thread Index