如何在不停止(中断)程序的情况下在Python中发出警告?
我正在处理一个问题,如何在Python中引发Warning,而不必让程序崩溃/停止/中断。
我使用以下简单的函数,只检查用户传递给它一个非零的数字。 如果用户通过一个零,程序应该警告用户,但是继续正常。 它应该像下面的代码工作,但应该使用类Warning(),Error()或Exception(),而不是手动打印出警告。
def isZero( i): if i != 0: print "OK" else: print "WARNING: the input is 0!" return i
如果我使用下面的代码并将0传递给该函数,程序崩溃并且该值永远不会返回。 相反,我想程序继续正常,只是通知用户,他通过0的function。
def isZero( i): if i != 0: print "OK" else: raise Warning("the input is 0!") return i
关键是我希望能够testing一个警告已经被unittesttesting过了。 如果我只是简单地打印出来的信息,我不能用unittest中的assertRaises来testing它。
谢谢,托马斯
你不应该raise
警告,你应该使用warnings
模块。 通过提高它,你会产生错误,而不是警告。
import warnings warnings.warn("Warning...........Message")
看到python文档: 这里
- Django的MultiValueDictKeyError错误,我如何处理它
- 好的方法来封装Integer.parseInt()
- 在Python 2.6中不推荐使用BaseException.message
- 我可以在同一个catch子句中捕获多个Javaexception吗?
- 我有时可以下沉我的例外吗?
- 在C#中访问Process.MainModule.FileName时如何避免Win32exception?
- 从析构函数中抛出exception
- ASP.NET自定义错误页面 – Server.GetLastError()为空
- CacheProvider的exceptionNoClassDefFoundError