Tuyên bố từ chối: điều này có vẻ trùng lặp, nhưng việc tìm câu trả lời cho vấn đề cụ thể này là không đáng kể - tôi hy vọng những người khác sẽ tìm thấy câu hỏi/câu trả lời này dễ dàng hơn!Python: không thể bắt được IndexError
Khi tôi chạy đoạn mã sau, nó không thành công để bắt IndexError thứ hai, nâng nó thay vì:
try:
raise ValueError
except ValueError,IndexError:
pass
l = [1,2,3]
try:
l[4]
except IndexError:
print "an index error!"
kết quả trong
---------------------------------------------------------------------------
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
Điều này được sửa trong Python 3 trong đó cú pháp cho câu lệnh 'except' đã được thay đổi từ' ngoại trừ X, T' thành 'ngoại trừ X thành T'. – martineau