Cảnh báo chỉ có vậy:cảnh báo. Chúng được báo cáo cho (thường) stderr, nhưng không có gì khác được thực hiện. Bạn không thể bắt chúng giống như các trường hợp ngoại lệ vì chúng không được nuôi dưỡng.
Tuy nhiên, bạn có thể định cấu hình những việc cần làm với các cảnh báo và tắt hoặc biến chúng thành ngoại lệ, sử dụng warnings
mô-đun. Ví dụ:warnings.filterwarnings('error', category=MySQLdb.Warning)
để chuyển MySQLdb.Warning warnings
thành các trường hợp ngoại lệ (trong trường hợp đó họ sẽ bị bắt bằng cách sử dụng thử / ngoại trừ của bạn) hoặc 'ignore'
để không hiển thị chúng ở tất cả. Bạn có thể (và có lẽ nên) có nhiều bộ lọc chi tiết hơn chứ không chỉ là danh mục.