我正在尝试在SimpleXMLRPCServer的服务器端引发异常;但是,所有尝试都会在客户端获得“故障1”异常。
RPC_Server.AbortTest() 文件“C:\ Python25 \ lib \ xmlrpclib.py”,第1147行,调用 return self .__ send(self .__ name,args) 在__request中输入“C:\ Python25 \ lib \ xmlrpclib.py”,第1437行 冗长=自.__冗长 请求中的文件“C:\ Python25 \ lib \ xmlrpclib.py”,第1201行 return self._parse_response(h.getfile(),sock) _parse_response中的文件“C:\ Python25 \ lib \ xmlrpclib.py”,第1340行 return u.close() 文件“C:\ Python25 \ lib \ xmlrpclib.py”,第787行,关闭 提出错误(** self._stack [0]) xmlrpclib.Fault ::测试由RPC中止 请求“>
答案 0 :(得分:1)
是的,这是在服务器端引发异常时发生的情况。您是否期望SimpleXMLRPCServer将异常返回给客户端?
您只能使用可以通过XML编组的对象。这包括
__dict__
属性。答案 1 :(得分:0)
如果你引发这样的例外:
raise Exception('Help!')
在服务器中,客户端获取的异常的消息成员与在前缀为该类型的字符串表示的原始异常上执行str()相同。
我得到的消息成员的结果是:
<type 'exceptions.Exception'>:Help!
你当然可以解析这个来获取你需要的信息。