assert() 宏用法
注意:assert是宏,而不是函數。在C的assert.h頭文件中。
assert宏的原型定義在中,其作用是如果它的條件返回錯誤,則終止程序執行.
斷言只有在Debug模式下才有效,它可以有兩種形式
1.assert Expression1
2.assert Expression1:Expression2
其中Expression1應該總是一個布爾值,Expression2是斷言失敗時輸出的失敗消息的字符串。如果Expression1為假,則拋出一個 AssertionError,這是一個錯誤,而不是一個異常,也就是說是一個不可控制異常(unchecked Exception),AssertionError由於是錯誤,所以可以不捕獲,但不推薦這樣做,因為那樣會使你的系統進入不穩定狀態。
#include
#include
#include
intmain(void){
FILE*fp;
fp=fopen("test.txt","w");//以可寫的方式打開一個文件,如果不存在就創建一個同名文件
assert(fp);//所以這裡不會出錯
fclose(fp);
fp=fopen("noexitfile.txt","r");//以只讀的方式打開一個文件,如果不存在就打開文件失敗
assert(fp);//所以這裡出錯
fclose(fp);//程序永遠都執行不到這裡來
return0;
}
更詳細學習資料的在我的頭條文章仔細的看下,只是粗略的概述了一遍,當然更詳細具體的可以自己去找資料,當然也可以加我的群哈368282579,可以交流的,群內也有針對0基礎的新手資料,項目資源也是很豐富的,希望對各位有所幫助哈
閱讀更多 java架構社區 的文章