ฉันพยายามเพิ่มคำเตือนใน Python โดยไม่ทำให้โปรแกรมขัดข้อง / หยุด / ขัดจังหวะ
ฉันใช้ฟังก์ชันง่าย ๆ ต่อไปนี้เพื่อตรวจสอบว่าผู้ใช้ผ่านหมายเลขที่ไม่ใช่ศูนย์หรือไม่ ถ้าเป็นเช่นนั้นโปรแกรมควรเตือนพวกเขา แต่ดำเนินการต่อตามปกติ มันควรจะทำงานเช่นโค้ดด้านล่าง แต่ควรใช้คลาสWarning()
, Error()
หรือException()
แทนการพิมพ์คำเตือนด้วยตนเอง
def is_zero(i):
if i != 0:
print "OK"
else:
print "WARNING: the input is 0!"
return i
ถ้าฉันใช้รหัสด้านล่างและส่งผ่าน 0 ไปยังฟังก์ชันโปรแกรมขัดข้องและไม่มีการคืนค่า แต่ฉันต้องการให้โปรแกรมทำงานต่อตามปกติและเพียงแจ้งผู้ใช้ว่าเขาผ่าน 0 ไปยังฟังก์ชัน
def is_zero(i):
if i != 0:
print "OK"
else:
raise Warning("the input is 0!")
return i
ฉันต้องการที่จะทดสอบว่าคำเตือนถูกส่งไปทดสอบโดยไม่แสดงความคิดเห็น หากฉันพิมพ์ข้อความออกมาฉันไม่สามารถทดสอบด้วย assertRaises แบบไม่ตอบสนองได้
print
ข้อความ