在我學習程式設計時,我一直認為斷言(assert)是個報錯函式,事實上,它居然是個巨集,並且作用並非"報錯"。
在經過對其進行一定了解之後,對其作用及用法有了一定的了解,斷言assert是定義在assert.h中的 巨集 ,只在debug版本起作用,而在release版本不起作用。用法:assert(表示式)
do
while
(m<0)
;//當m>=0,不再輸入
assert
(m>=0)
;//退出上面的輸入後,發現輸入的值比0小,中斷程式,斷言為假
上面的**中,assert(m>=0)的效果與語句if(m<0) exit(1);類似,理論上來說條件語句可以用來替代斷言,但是使用條件語句後:
1.程式編譯後的目標**體積變大
2.降低最終發布的程式效率
**使用斷言*
*:1.便於在程式除錯時發現錯誤
2.不會影響程式執行效率
斷言只能用於除錯,不能作為程式的功能。斷言不是用來檢查程式的錯誤的,斷言為假只會中斷程式的執行,報告程式是錯誤的,而不會對錯誤進行相應的處理。斷言不能用來判斷有可能發生的情況是否會發生,不能對函式的入口引數進行合法性檢查,不能用斷言代替條件語句,不能用斷言判斷有可能發生的錯誤,只能用於檢查程式中不能發生的錯誤確實不會發生
適合使用斷言的情況:
使用斷言的基本原則:
Python學習記錄 assert(斷言)
python中assert 斷言 用於判斷乙個表示式,在表示式條件為 false 時觸發異常。assert可以在條件不滿足程式執行的情況下直接返回錯誤,而不必等待程式執行後出現崩潰的情況。例如我們的 只能在 linux 系統下執行,可以先判斷當前系統是否符合條件 語法如下 assert expres...
node基礎學習 assert斷言
assert模組是node的內建模組,主要用於斷言。如果表示式不符合預期,就丟擲乙個錯誤。該模組提供11個方法,但只有少數幾個是常用的。assert assert方法接受兩個引數,當第乙個引數對應的布林值為true時,不會有任何提示,返回undefined。當第乙個引數對應的布林值為false時,會...
斷言assert總結
0.python的assert是用來檢查乙個條件,如果它為真,就不做任何事。如果它為假,則會丟擲asserterror並且包含錯誤資訊。assert語句是一種插入除錯斷點到程式的一種便捷的方式。1.使用斷言可以建立更穩定,品質更好且不易於出錯的 當需要在乙個值為false時中斷當前操作的話,可以使用...