Có nhiều nguồn sai sót. Một vài ví dụ là lỗi cú pháp trong câu lệnh SQL đã thực thi, lỗi kết nối hoặc gọi phương thức tìm nạp cho một lệnh xử lý câu lệnh đã bị hủy hoặc đã hoàn thành.
API DB xác định một số lỗi phải tồn tại trong mỗi mô-đun cơ sở dữ liệu. Bảng sau liệt kê các ngoại lệ này.
Sr.No. | Ngoại lệ &Mô tả |
---|---|
1 | Cảnh báo Được sử dụng cho các vấn đề không nghiêm trọng. Phải phân lớp StandardError. |
2 | Lỗi Lớp cơ sở cho các lỗi. Phải phân lớp StandardError. |
3 | InterfaceError Được sử dụng cho các lỗi trong mô-đun cơ sở dữ liệu, không phải chính cơ sở dữ liệu. Phải phân lớp lỗi. |
4 | DatabaseError Được sử dụng cho các lỗi trong cơ sở dữ liệu. Phải phân lớp lỗi. |
5 | DataError Lớp con của DatabaseError đề cập đến lỗi trong dữ liệu. |
6 | OperationalError Lớp con của DatabaseError đề cập đến các lỗi như mất kết nối với cơ sở dữ liệu. Những lỗi này nói chung nằm ngoài tầm kiểm soát của Python scripter. |
7 | IntegrityError Lớp con của DatabaseError đối với các tình huống có thể làm hỏng tính toàn vẹn của quan hệ, chẳng hạn như các ràng buộc về tính duy nhất hoặc khóa ngoại. |
8 | InternalError Lớp con của DatabaseError đề cập đến các lỗi bên trong mô-đun cơ sở dữ liệu, chẳng hạn như con trỏ không còn hoạt động. |
9 | ProgrammingError Lớp con của DatabaseError đề cập đến các lỗi như tên bảng không hợp lệ và những thứ khác có thể đổ lỗi cho bạn một cách an toàn. |
10 | NotSupportedError Lớp con của DatabaseError đề cập đến việc cố gắng gọi chức năng không được hỗ trợ. |
Các tập lệnh Python của bạn sẽ xử lý các lỗi này, nhưng trước khi sử dụng bất kỳ ngoại lệ nào ở trên, hãy đảm bảo MySQLdb của bạn có hỗ trợ cho ngoại lệ đó. Bạn có thể biết thêm thông tin về chúng bằng cách đọc thông số kỹ thuật của DB API 2.0.