Zrzeczenie się: to wygląda na duplikat, ale znalezienie odpowiedzi na ten konkretny problem było więcej niż banalne - mam nadzieję, że inni znajdą to pytanie/odpowiedź z większą łatwością!Python: nie można złapać IndexError
Kiedy uruchomić poniższy kod, to nie złapać drugi IndexError, podnosząc go zamiast:
try:
raise ValueError
except ValueError,IndexError:
pass
l = [1,2,3]
try:
l[4]
except IndexError:
print "an index error!"
skutkuje
---------------------------------------------------------------------------
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
Naprawiono to w Pythonie 3, gdzie składnia instrukcji 'except' została zmieniona z' except X, T' na 'except X as T'. – martineau