Просмотр исключений из методов, зарегистрированных в SimpleXMLRPCServer - PullRequest
2 голосов
/ 15 октября 2011

Я пишу программу на Python 2.7 на основе xmlrpc, используя SimpleXMLRPCServer.Я импортирую класс со всей нашей логикой и регистрирую его:

server = SimpleXMLRPCServer(("0.0.0.0", 9001))
server.register_instancce(classWithAllTheLogic())
server.serve_forever()

При запуске этого в консоли я вижу сообщения журнала от SimpleXMLRPCServer о том, какие сообщения отправляются, но всю информацию отладки из методовв пределах classWithAllTheLogic (), кажется, перегружен.Если метод выдает исключение, я не вижу никаких сообщений об ошибках в консоли, и вызов xmlrpc, связанный с этим методом, просто молча завершается неудачей.операторы print внутри методов classWithAllTheLogic также просто не отображаются.Что здесь происходит?

1 Ответ

0 голосов
/ 20 октября 2011

Я не могу воспроизвести это.Тестовый скрипт test.py

from xmlrpc.server import SimpleXMLRPCServer
class classWithAllTheLogic:
    def __init__(self):
        print("Hi")
        raise Exception("INIT Exception")

    def hello(self):
        print("hello")
        raise Exception("Hello Exception")

server = SimpleXMLRPCServer(("0.0.0.0", 9001))
server.register_instance(classWithAllTheLogic())
server.serve_forever()

Выполнение:

E:\tmp>python test.py
Hi
Traceback (most recent call last):
  File "test.py", line 13, in <module>
    server.register_instance(classWithAllTheLogic())
  File "test.py", line 6, in __init__
    raise Exception("INIT Exception")
Exception: INIT Exception

E:\tmp>

?!

...