查看注册到SimpleXMLRPCServer的方法的异常

时间:2011-10-15 18:49:18

标签: python xml-rpc

我正在编写一个基于xmlrpc的python 2.7程序,使用SimpleXMLRPCServer。我用所有逻辑导入类并将其注册到:

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

在控制台中运行时,我可以看到SimpleXMLRPCServer中有关正在发送的消息的日志消息,但是来自classWithAllTheLogic()中方法的所有调试信息似乎都被表达了。如果一个方法在那里抛出异常,我在控制台中看不到任何错误消息,并且绑定到该方法的xmlrpc调用只是默默地失败。 classWithAllTheLogic方法中的print语句也只是不显示。这是怎么回事?

1 个答案:

答案 0 :(得分:0)

我无法重现这一点。 测试脚本 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>

?!