Nếu tôi chạy mã:Catch KeyError bằng Python
connection = manager.connect("I2Cx")
Các chương trình bị treo và báo cáo một KeyError vì I2Cx không tồn tại (nó phải được I2C).
Nhưng nếu tôi làm:
try:
connection = manager.connect("I2Cx")
except Exception, e:
print e
Nó không in bất cứ điều gì cho e. Tôi muốn có thể in ngoại lệ đã được ném. Nếu tôi thử cùng một thứ với phép chia bằng 0 thì nó sẽ bị bắt và báo cáo đúng trong cả hai trường hợp. Tôi đang thiếu gì ở đây?
Lưu ý phụ: Trừ khi bạn cần trước 2.5 khả năng tương thích, bạn nên viết 'ngoại trừ ngoại lệ như e:' thay vì 'ngoại trừ ngoại lệ, e:'. – abarnert