0

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

我在 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。

最好的问候,莫罗尼

4

1 回答 1

0

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

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

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

于 2014-09-09T10:28:34.517 回答