列印錯誤資訊的巨集定義

2021-08-24 20:43:48 字數 2532 閱讀 8677

#ifndef __errmacros_h__

#define __errmacros_h__

#include #ifdef debug

#define debug_print(...) \

do while(0)

#else

#define debug_print(...) (void)0

#endif

#define error_handler(err) \

do \

} while(0)

#define sbuffer_error(err) \

do \

} while(0)

#define syscall_error(err) \

do \

} while(0)

#define check_mkfifo(err) \

do \

} \

} while(0)

#define file_open_error(fp) \

do \

} while(0)

#define file_close_error(err) \

do \

} while(0)

#define file_scanf_error(err) \

do \

} while(0)

#define file_puts_error(err) \

do \

} while(0)

#define asprintf_error(err) \

do \

} while(0)

#define fflush_error(err) \

do \

} while(0)

#endif

使用舉例:debug_print("output is %s,%d",output_buf,40)..或者debug_print("output error")

二,assert函式

需要引入#include void assert(int expression)

當expression正確的時候不執行任何動作,如果expression為假則會在標準錯誤stderr上列印錯誤資訊,並終止程式

#include #include int main()

三、 perror函式

perror ( )用 來 將 上 一 個 函 數 發 生 錯 誤 的 原 因 輸 出 到 標 準 裝置 (stderr) 。引數 s 所指的字串會先列印出,後面再加上錯誤原因字串

#include //#include int main(void)

return 0;

}

列印輸出  ./root: no such file or directory

四,linux下的三種流,stdin,stdout,stderr

這裡主要記錄stdout和stderr,標準輸出stdout, 標準輸出的檔案識別符號為1

#include intmain(void)

兩個hello會在螢幕上輸出

stderr舉例,標準錯誤輸出的檔案識別符號為2

#include int main(void)

也會在螢幕上輸出列印資訊  hello和error

從上邊看有什麼意義呢stderr 接下來看

#include int main(void)

執行 ./test 1>log.txt 2>error.txt  這樣error就列印到error.txt中,而hello就列印在log.txt中。

在c語言裡,也可以使用freopen函式重定向輸出流。

#include int main(void)

上邊**編譯後,輸出就列印到out.txt中了。

五、strerror函式

這個函式的作用效果其實和上邊的差不多

#include #include #include #include int main(void)

errno是#include 中的全域性變數,效果如下

php列印錯誤資訊

方法一 修改php.ini 顯示錯誤資訊 display errors on 顯示php開始錯誤資訊 display startup errors on 日誌記錄錯誤資訊 log errors on方法二 需要除錯的php 檔案頭部加入 ini set display errors 1 錯誤資訊 i...

spring ibatis 不列印錯誤資訊

最近學習spring ibatis的時候 碰到乙個問題 部分 如下 msgtempsend.setsendtype 2222222222222 public object insertstudent student student 如 上 資料庫中sendtype 字段 是number 2 所以在插...

php 不列印錯誤資訊 php不輸出錯誤資訊怎麼辦

php不輸出錯誤資訊的解決辦法 首先開啟 php.ini 然後修改內容為 error reporting e alldisplay errors on 最後儲存修改即可。本教程操作環境 windows7系統 php7.1版,該方法適用於所有品牌電腦。php不輸出錯誤資訊的解決辦法 安裝完lnmp之後...