Понимание кодов ошибок в Python и использование значимых имен ошибок

Я понимаю основной try: except: finally: синтаксис обработки ошибок в pythons. Но я не понимаю, как найти правильные имена ошибок, чтобы сделать читабельный код.

Например:

try:
     s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     s.connect((HOST, PORT))
     s.settimeout(60)               
     char = s.recv(1)

except socket.timeout:
    pass

если сокет выдает таймаут, то ошибка будет поймана. А если я ищу ошибку отказа в соединении. Я знаю, что номер ошибки - 10061. Где в документации я могу найти значение полного имени, например timeout. Есть ли подобное место для поиска других модулей python? Я знаю, что это вопрос новичка, но я уже некоторое время занимаюсь обработкой ошибок в своем коде, не зная, где искать описания и имена ошибок.

EDIT:

Спасибо за все ваши ответы.

будет

except socket.error, exception:
    if exception.errno == ETIMEDOUT:
         pass

достигнут тот же результат, что и

except socket.timeout:
    pass
5
задан Richard 25 November 2011 в 14:48
поделиться