Tôi đang cố gắng nâng Cảnh báo trong Python mà không làm chương trình bị sập / dừng / ngắt.
Tôi sử dụng chức năng đơn giản sau đây để kiểm tra xem người dùng có chuyển một số khác không cho nó không. Nếu vậy, chương trình nên cảnh báo họ, nhưng tiếp tục như bình thường. Nó sẽ làm việc như mã dưới đây, nhưng nên sử dụng lớp Warning()
, Error()
hoặc Exception()
thay vì in cảnh báo ra bằng tay.
def is_zero(i):
if i != 0:
print "OK"
else:
print "WARNING: the input is 0!"
return i
Nếu tôi sử dụng mã dưới đây và truyền 0 cho hàm, chương trình gặp sự cố và giá trị không bao giờ được trả về. Thay vào đó, tôi muốn chương trình tiếp tục bình thường và chỉ cần thông báo cho người dùng rằng anh ta đã chuyển 0 cho hàm.
def is_zero(i):
if i != 0:
print "OK"
else:
raise Warning("the input is 0!")
return i
Tôi muốn có thể kiểm tra xem một cảnh báo đã bị ném không bằng cách kiểm tra nó. Nếu tôi chỉ đơn giản là in thông báo ra, tôi không thể kiểm tra nó với assertRaises một cách không đáng tin cậy.
print
là tin nhắn?