如果某些條件不滿足,我經常希望我的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