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 に答える