Saya mencoba untuk meningkatkan Peringatan dengan Python tanpa membuat program crash / stop / interrupt.
Saya menggunakan fungsi sederhana berikut untuk memeriksa apakah pengguna memberikan angka bukan nol. Jika demikian, program harus memperingatkan mereka, tetapi lanjutkan seperti biasa. Seharusnya berfungsi seperti kode di bawah ini, tetapi harus menggunakan kelas Warning()
, Error()
atau Exception()
bukannya mencetak peringatan secara manual.
def is_zero(i):
if i != 0:
print "OK"
else:
print "WARNING: the input is 0!"
return i
Jika saya menggunakan kode di bawah ini dan meneruskan 0 ke fungsi, program macet dan nilainya tidak pernah dikembalikan. Sebagai gantinya, saya ingin program untuk melanjutkan secara normal dan hanya memberitahu pengguna bahwa ia melewati 0 ke fungsi.
def is_zero(i):
if i != 0:
print "OK"
else:
raise Warning("the input is 0!")
return i
Saya ingin dapat menguji bahwa suatu peringatan telah dilemparkan mengujinya dengan cara yang belum terbukti. Jika saya hanya mencetak pesan, saya tidak dapat mengujinya dengan assertRaises di unittest.
print
pesan saja?