【问题标题】:How to know what exceptions a SOAPPy library is rising如何知道 SOAPPy 库出现了哪些异常
【发布时间】:2014-09-09 09:14:50
【问题描述】:

这更像是一个问题,而不是一个真正的问题。

我有一些在 python 中使用 SOAPpy 库的代码:

from SOAPpy import SOAPProxy
...
try:
    connection = SOAPProxy(settings.SOAP_URL)
    session = connection.login(username, password)
    user = connection.getUserInfo(session.session_hash, session.user_id)
    groups = connection.getGroups(session.session_hash, settings.GROUP_ID)
    group = next(group for group in groups.item
        if group.name == settings.GROUP_NAME)
    next(member for member in group.member.item
        if member.user_name == user.username)
except:
    return None
...

我的问题是:这部分代码会引发哪些异常?

因为一位新贡献者说编写所有可以引发的异常更符合 Pythonic。

最好的问候, 白痴

【问题讨论】:

    标签: python exception soap soappy


    【解决方案1】:

    阅读 SOAPpy 源代码是获得明确答案的最佳方法。然而,这既麻烦又浪费实际工作时间。除了 SOAPPy 自身的异常,底层操作系统可能会导致 IOError 和 OSError 异常等。

    因为 SOAPpy 与许多其他库一样,并没有明确它可以引发什么异常,所以它基本上可以是任何东西。所以在这种情况下,你不可能是 Pythonic,因为库作者选择了“较少 Pythonic”,或者没有明确记录库的行为方式。

    所以这里要吸取的教训是,不要把任何事情视为理所当然,而要运用你的常识。

    【讨论】: