08.12 assert()

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基礎的新手資料,項目資源也是很豐富的,希望對各位有所幫助哈


分享到:


相關文章: