【问题标题】:How do I catch errors using Zeep and Python 3.7如何使用 Zeep 和 Python 3.7 捕获错误
【发布时间】:2019-06-10 11:48:14
【问题描述】:

我正在学习如何使用 Zeep 作为我的肥皂客户端。我能够连接到 WSDL 并查看服务,但是,我被困在如何捕获所有可能的异常上。我只能捕获 KeyError。我希望能够再抓一些:

基本上类似于下面的http客户端示例:

除了 (http.client.HTTPException, ValueError, KeyError, AttributeError) as e

我想使用 try.....except

try:
    session = Session()
    session.auth = HttpNtlmAuth(username, password)

    request_data = {
    }
    client = Client(wsdl, transport=Transport(session=session))
    response = client.service.GetPendingBills(**request_data)
    billobj = json.loads(response)
    print(billobj)
    bills = (len(billobj["Bills"]))
except KeyError as e:
    bills = 0

【问题讨论】:

    标签: python zeep


    【解决方案1】:

    也许这为时已晚,但您可以导入 zeep.exceptions 并以这种方式处理各种异常。您只需要像上面演示的那样检查异常并捕获它。

    解决方案显示in this documentation

    【讨论】:

      【解决方案2】:

      我决定导入请求并处理如下所示的异常:

      except (requests.exceptions.HTTPError, KeyError, TimeoutError) as e

      谢谢

      【讨论】:

        猜你喜欢
        • 2017-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多