Subject: error handling question

From: Albert Lin <[email-masked]>
Date: Thu, 24 Jun 1993 18:00:28 -0700

Okay, here I am with my spiffy new events code, which (when something
happens) calls the appropriate verbs on interested objects:

for l in (listeners)
  fork (0)
    e = l:(verb_name)(event_info);
    if (typeof(e) == ERR)
       this:event_error(l,verb_name,event_info,e);
    endif
  endfork
endfor

It catches errors such as E_VERBNF, and the fork (0) prevents the
entire verb from bombing if one of the listening objects is bad.
However, if the code on a listening object is bad, the traceback goes
to the player that initiated the verb, which turns out to be the
player that triggered the event by doing something (entering, exiting,
etc).  Short of requiring all programmers to make their verbs !d, is
there any way to suppress or redirect (or at the very least, trap for)
an error on a broken object and notify the owner, instead of the
[innocent, perhaps clueless] player that walks into a room containing
that object?  If the code is bad, you never get to the
(if (typeof(e) == ERR) line.

Albert

---

From: [email-masked] (Erik Ostrom)
Date: Thu, 24 Jun 1993 18:12:14 -0700

Short of requiring all programmers to make their verbs !d, is
   there any way to suppress or redirect (or at the very least, trap for)
   an error on a broken object and notify the owner, instead of the
   [innocent, perhaps clueless] player that walks into a room containing
   that object?

Yes: convince Pavel to hurry up and release 1.8.0.

   Albert

Erik/JF