你已經有錯誤信息,在這種情況下它只是空的。看看SRC /組織/ XMLRPC /安卓/ XMLRPCClient.java(線216):
if (tag.equals(Tag.FAULT)) {
pullParser.nextTag(); // Tag.VALUE (<value>)
Map<String, Object> map = (Map<String, Object>) iXMLRPCSerializer.deserialize(pullParser);
String faultString = (String) map.get(Tag.FAULT_STRING);
int faultCode = (Integer) map.get(Tag.FAULT_CODE);
entity.consumeContent();
throw new XMLRPCFault(faultString, faultCode);
}
這裏我們調用XMLRPCFault對象(SRC /組織/ XMLRPC /安卓/ XMLRPCFault.java)延伸XMLRPCException。下面是主要部分:
public XMLRPCFault(String faultString, int faultCode) {
super("XMLRPC Fault: " + faultString + " [code " + faultCode + "]");
this.faultString = faultString;
this.faultCode = faultCode;
}
正如你可以看到,這個方法告訴你 「XMLRPC故障:[代碼101]」,其中faultString = ''(空)和的faultcode = 101。順便說一句,這是urlopen錯誤[Errno 101]「網絡無法訪問」。如果您使用某個代理,則會發生這種情況
現在關於錯誤處理:您使用server.py作爲XML-RPC服務器。但是在代碼中沒有定義任何錯誤處理程序。您可以在'class MyFunc:'字符串後添加下一行:
class MyFuncs:
def _dispatch(self, method, args):
try:
return getattr(self, method)(*args)
except:
handle_logging()
...
並在handle_logging()中實現您的日誌記錄。更多細節在這裏:https://docs.python.org/2/library/logging.html#logging.Logger.exception
感謝您的回覆.. –