Về mặt này, Python khá giống với Java. Nhưng Exception của Python nên được so sánh với Throwable của Java.
Vì Throwables có đủ loại hương vị - Error, RuntimeException và (đã kiểm tra) Exception - Python cũng vậy (mặc dù không có ngoại lệ nào được kiểm tra).
Đối với ngôn ngữ, Lỗi là ngoại lệ, vì vậy hệ thống phân cấp kế thừa không có gì lạ.
Tôi không đặc biệt thích cái tên Exception. Các ngoại lệ không chỉ được sử dụng cho các trường hợp ngoại lệ (như hy vọng có Lỗi) mà còn để thoát ra khỏi luồng kiểm soát. Bởi vì đó là những gì một Ngoại lệ làm; nó nhảy ra khỏi luồng kiểm soát thông thường đến một điểm được đánh dấu. Một chút giống như goto, nhưng tinh tế hơn.
Điều đó có nghĩa là, mỗi khi bạn gặp tình huống không tìm thấy giá trị trả lại phù hợp, bạn có xu hướng sử dụng Ngoại lệ. Cả trong Python cũng như Java.
Warning
. Hãy xem câu trả lời của tôi .