From: Jeremy Stanley Date: Mon, 13 May 2019 19:22:24 +0000 (+0000) Subject: Safely log when a command error cannot be sent X-Git-Tag: 0.0.1~9 X-Git-Url: https://mudpy.org/gitweb?a=commitdiff_plain;h=f6f7c26e115c61153017b50660d0561f854a8e20;p=mudpy.git Safely log when a command error cannot be sent If a command triggers an error back to the user and sending that error raises an exception, log it and continue to avoid crashing the engine. --- diff --git a/mudpy/command.py b/mudpy/command.py index 2b20b1a..39e0a83 100644 --- a/mudpy/command.py +++ b/mudpy/command.py @@ -6,6 +6,7 @@ import random import re +import traceback import unicodedata import mudpy @@ -117,8 +118,13 @@ def error(actor, input_data): else: message = "Arglebargle, glop-glyf!?!" - # send the error message - actor.send(message) + # try to send the error message, and log if we can't + try: + actor.send(message) + except Exception: + mudpy.misc.log( + 'Sending a command error to user %s raised exception...\n%s' % ( + actor.owner.account.get("name"), traceback.format_exc())) def halt(actor, parameters):