Capisco la sintassi di base try:
except:
finally:
per la gestione degli errori dei pitoni. Quello che non capisco è come trovare i nomi di errore corretti per rendere il codice leggibile.Informazioni sui codici di errore in Python e utilizzo di nomi di errori significativi
Ad esempio:
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
quindi se presa solleva un timeout, l'errore viene catturato. Che ne dici se sto cercando una connessione rifiutata. So che il numero di errore è 10061. Dove nella documentazione cerco di trovare un nome completo di significato come timeout. Ci sarebbe un posto simile per cercare altri moduli Python? So che questa è una domanda per principianti, ma ho messo in errore la gestione del mio codice per un po 'di tempo, senza sapere dove cercare le descrizioni e i nomi degli errori.
EDIT:
Grazie per tutte le vostre risposte.
sarebbe
except socket.error, exception:
if exception.errno == ETIMEDOUT:
pass
ottenere lo stesso risultato di
except socket.timeout:
pass
ok, quindi come scrivo per rilevare un'eccezione errno.ECONNREFUSED – Richard
si cattura socket.error e quindi controllare il codice. – unbeli