2014-09-09 4 views
0

이것은 실제 문제보다 더 많은 질문입니다. SOAPPy 라이브러리가 예외 인 경우를 알아내는 방법

나는 파이썬 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하다고 말하기 때문에. 이것은 SOAPpy 소스 코드 불구하고 읽기에

안부, Morony

답변

0

가장 좋은 방법은 명확한 대답을합니다. 그러나 이것은 번거롭고 실제 작업 시간을 낭비합니다. SOAPPy 자체의 예외 외에도 기본 운영 체제가 IOError 및 OSError 예외를 유발할 수 있습니다.

SOAPpy는 많은 다른 라이브러리와 마찬가지로 제기 할 수있는 예외가 명시 적이 아니기 때문에 기본적으로 모든 것이 될 수 있습니다. 따라서이 경우에는 Pythonic이 될 수 없습니다. 왜냐하면 라이브러리 제작자가 "Pythonic이 적게"선택되었거나 라이브러리의 작동 방식을 명시 적으로 문서화하지 않았기 때문입니다.

그래서 여기에서 배워야 할 교훈은 부여 된 것을 취하지 않고 상식을 적용하는 것입니다.