如何在Android的XMLRPC库中获取错误代码

如何在Android的XMLRPC库中获取错误代码,android,api,magento,xmlrpclib,Android,Api,Magento,Xmlrpclib,我在我的Android项目中使用了Magento的API。 使用Magneto API向Magento存储发送请求时出错。 该错误包含“错误代码”” 错误如下: this code || \/ org.xm

我在我的Android项目中使用了Magento的API。
使用Magneto API向Magento存储发送请求时出错。
该错误包含“
错误代码”

错误如下:

                                               this code
                                                  ||
                                                  \/
org.xmlrpc.android.XMLRPCFault: XMLRPC Fault:  [code 101]  
at org.xmlrpc.android.XMLRPCClient.callEx(XMLRPCClient.java:308)
at org.xmlrpc.android.XMLRPCMethod.run(XMLRPCMethod.java:33)
.
.
.
是否有人知道如何从异常中获取此错误代码,就像我们如何获取错误消息一样,如下所示:

try
{
  ......
  ......
}
catch(Exception e)
{
  Log.i("Error",e.getMessage());
}

您已经有错误消息,在这种情况下它只是空的。查看src/org/xmlrpc/android/XMLRPCClient.java(第216行):

如您所见,此方法显示“XMLRPC Fault:[code 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()中实现您的登录。详情如下:

public XMLRPCFault(String faultString, int faultCode) {
    super("XMLRPC Fault: " + faultString + " [code " + faultCode + "]");
    this.faultString = faultString;
    this.faultCode = faultCode;
}
class MyFuncs:
    def _dispatch(self, method, args):
    try:
        return getattr(self, method)(*args)
    except:
        handle_logging()
...