Python处理来自java web服务的自定义异常

问题描述:

我有一个java web服务和使用泡沫的python客户端。我的服务器引发了我想在Python脚本中处理的自定义异常。是否有可能赶上它们,或者它总是会被当作suds.WebFault例外?Python处理来自java web服务的自定义异常

suds.WebFault has具有故障信息的故障字段。

except suds.WebFault, e: 
    print e.fault.faultstring 
    print e.document 

你可以有你的程序从WebFault此类分析服务器自定义异常,并为每一个特定的服务器异常的新的异常类(ES),再搭上suds.WebFault例外,读取服务器异常的详细信息,并提高您的自定义异常。

class MyException(suds.WebFault): 
    pass 


def convertServerException(e): 
    if e.fault.faultstring == 'exception1': 
     return MyException() 
     #...add more exception handling cases here 

#... 
try: 
#...make a WebService call 
except suds.WebFault, e: 
    print e 
    print e.fault 
    raise convertServerException(e)