我正在编写一个基于xmlrpc的python 2.7程序,使用SimpleXMLRPCServer。我用所有逻辑导入类并将其注册到:
server = SimpleXMLRPCServer(("0.0.0.0", 9001))
server.register_instancce(classWithAllTheLogic())
server.serve_forever()
在控制台中运行时,我可以看到SimpleXMLRPCServer中有关正在发送的消息的日志消息,但是来自classWithAllTheLogic()中方法的所有调试信息似乎都被表达了。如果一个方法在那里抛出异常,我在控制台中看不到任何错误消息,并且绑定到该方法的xmlrpc调用只是默默地失败。 classWithAllTheLogic方法中的print语句也只是不显示。这是怎么回事?
答案 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>
?!