Disclaimer: questo sembra un duplicato, ma trovare una risposta a questo particolare problema è stato più che banale - spero che altri troveranno questa domanda/risposta con più facilità!Python: impossibile rilevare un Errore Index
Quando eseguo il seguente codice, non riesce a prendere il secondo IndexError, alzando invece:
try:
raise ValueError
except ValueError,IndexError:
pass
l = [1,2,3]
try:
l[4]
except IndexError:
print "an index error!"
risultati in
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-24-61bcf6d2b9af> in <module>()
6 pass
7 try:
----> 8 l[4]
9 except IndexError:
10 print "an index error!"
IndexError: list index out of range
Questo è corretto in Python 3 dove la sintassi per le istruzioni 'except' è stata cambiata da' tranne X, T' a 'tranne X come T'. – martineau