Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc/master/runtime_error

SYNOPSIS
        void runtime_error( string err, string prg, string curobj, int line
                          , mixed culprit, int caught)

DESCRIPTION
        This function has to announce a runtime error to the active
        user. If the user has enough privileges, it might give him the
        full error message together with the source line. Else it
        should issue a decent message ("Your sensitive mind notices a
        wrongness in the fabric of space").

         is the error message,  is the program executed (which
        might be an inherited program),  is the current object at
        the time of the error.  is the linenumber within the program.

        If the error is a normal runtime error,  is -1. Otherwise,
        the error occurred during a heartbeat and  is the object which
        heart_beat() function was executed. Also, in case of a heartbeat error,
        the heartbeat for the  has been turned off.

        If the error is caught on a higher level,  is non-zero;
        otherwise it is 0.

        Note that any of the the objects or programs might be destructed, ie.
        might be passed as 0.

        One common pitfall in the implementation of runtime_error() is
        that runtime_error() itself could run out of evaluation ticks,
        causing a runtime error itself. The workaround is to use
        limited() like this:

          static void
          handle_runtime_error ( string err, string prg, string curobj
                               , int line)
          { ... the actual error handler ... }

          static void
          call_runtime_error (string err, string prg, string curobj, int line)
          {
              limited(#'handle_runtime_error, ({ 200000 }), err, prg, curobj
                     , line);
          }

          void
          runtime_error (string err, string prg, string curobj, int line)
          {
              limited(#'call_runtime_error, ({ LIMIT_UNLIMITED })
                     , err, prg, curobj, line);
          }

HISTORY
        LDMud 3.2.9 added the  argument.
        LDMud 3.2.12/3.3.705 added the  argument.

SEE ALSO
        log_error(M), heart_beat_error(M), runtime_warning(M),
        raise_error(E), expand_define(E)


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.