@verb #80:"handle_uncaught_error" this none this rxdo #55 @program #80:"handle_uncaught_error" this none this "Copied from The SchoolNet MOO (#0):handle_uncaught_error by whiz.kid (#3135) Sep 6 01:12:05 1996" "Passes tracebacks to anyone who's listening, too." if (valid(caller_perms()) && !caller_perms().wizard) raise(E_PERM, "Please go away, foolish mortal.") endif if (!valid(player)) tb = $code_utils:tb(args) for x in (this.spies) x:tell(tb) endfor "WTF???" return endif "Give buffered text a chance to escape" for x in [1..30] if (!player:connected()) return elseif (buffered_output_length(player) == 0) break endif suspend(1) endfor if (!player.header_issued) notify(player, "HTTP/1.0 200 OK") notify(player, $www:server_name()) notify(player, "Content-Type: text/html") notify(player, "") notify(player, "Error!") endif for level in [1..length(args[4])] goner = `verb_info(args[4][level][1], args[4][level][2])[1] ! E_INVARG => #-1' if (valid(goner)) break endif endfor if (goner in {$hacker, $housekeeper, $postman, $repo_man} || goner.wizard) notify(player, tostr("

Error encountered; please report this error to a wizard.

")) else notify(player, tostr("

Error encountered; please report this error to ", $web:link(goner), ".

")) endif if (index(player.user_agent, "Lynx")) for x in (args[5]) $command_utils:suspend_if_needed() notify(player, x + "
") endfor else notify(player, tostr("Error was: ", toliteral(args[1]), " (", args[2], "); value: ", args[3], "

")) notify(player, "") for x in (args[4]) $command_utils:suspend_if_needed() n = tostr(x[4])[2..$] + ":" + x[2] notify(player, tostr("")) notify(player, tostr("")) endfor notify(player, "
VerbLoc:VerbProgrammerThisPlayerLine
", $web:link(x[4], tostr(x[4])), ":", x[2], "", $www:link(x[3], tostr(x[3])), "", $www:link(x[1], tostr(x[1])), "", $www:link(x[5], tostr(x[5])), "", x[6], "
") notify(player, "
You can cut-and-paste the following:

")
  for x in (args[5])
    $command_utils:suspend_if_needed()
    notify(player, x)
  endfor
  notify(player, "
") endif notify(player, "") boot_player(player) who = `this.spies ! ANY => {}' for y in (who) for x in (args[5]) $command_utils:suspend_if_needed() notify(y, tostr("[", player, "]: ", x)) endfor endfor return 1 "Last modified by Dax (#789) on Fri Jul 5 12:53:47 2002 MDT." "This verb previously owned by whiz (#3135), and chowned to $slacker upon dewizarding (Sat Aug 17 14:50:03 2002 MDT)." "Last modified by Dax (#789) on Sun Aug 18 18:23:08 2002 MDT." .