Как узнать, в каких исключениях растет библиотека SOAPPy

Это больше вопрос, чем реальная проблема.

У меня есть код с использованием библиотеки SOAPpy в Python:

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 пишет все исключения, которые можно вызвать.

С наилучшими пожеланиями, Мороний

1 ответ

Решение

Лучший способ получить определенный ответ - прочитать исходный код SOAPpy. Тем не менее, это громоздко и трата практического рабочего времени. Помимо собственных исключений SOAPPy, базовая операционная система может вызывать исключения IOError и OSError и тому подобное.

Поскольку SOAPpy, как и многие другие библиотеки, не указывает, какие исключения он может вызвать, он может быть в основном чем угодно. Таким образом, в этом случае вы не можете быть Pythonic, потому что автор библиотеки выбрал "менее Pythonic" или не задокументировал, как ведет себя библиотека.

Таким образом, урок, который нужно усвоить, заключается в том, что не принимайте ничего должного, но применяйте свой здравый смысл.

Другие вопросы по тегам