如果某些条件不满足,我经常希望我的Python代码死掉。我通常只使用assert whatever()
。不过,我有时会跑__debug__
等于False
。在这些情况下,我仍然需要检查一些类似于断言的情况。我相信处理这些案件的“正确”方式只是一个例子:if not whatever(): raise Exception('Error message!')
。换句话说,我认为使用assert进行检查是正确的,您可能很乐意去做这些检查,大概是那些耗时或者会运行很多次的检查。是否有一种比较完善的条件来完成同样的事情?Python中的Terse错误检查
在Perl中,我只会使用whatever() or die
。当然,鉴于语言之间的哲学差异,看到Perl需要更少的字符并不令人惊讶。
'def die(why):raise Exception(why)'有什么问题?然后将它用作'whatever()或者die('whatever is broken')' – mgilson
所以,即使你有__ debug __ = False,你仍然希望你的代码死掉。如果是这样,如果条件满足(或没有满足,取决于你想要的),你可以做sys.exit()。 – astromax