exit中的引數exit_code為0代表程序正常終止,若為其他值表示程式執行過程中有錯誤發生。出錯時退出一般用exit(exit_failure);
errno表示錯誤**。 記錄系統的最後一次錯誤**。**是乙個int型的值,在errno.h中定義。系統每一次出錯都會對應乙個出錯**,例如12表示「cannot allocate memory」。
linux中的程序啟動時,都會開啟三個檔案:標準輸入、標準輸出和標準出錯處理。通常這三個檔案都與終端聯絡。這三個檔案分別對應檔案描述符0、1、2。系隊統自定義了三個檔案指標stdin、stdout、stderr,分別指向標準輸入、標準輸出和標準出錯輸出。stderr是linux標準出錯的檔案指標,定義為extern struct _io_file *stderr;
,對應檔案描述符2,通常結合fprintf使用:
fprintf(stderr,"error message"); //不必加換行
/* 檔案描述符*/
#define stdin_fileno 0 /* standard input. */
#define stdout_fileno 1 /* standard output. */
#define stderr_fileno 2 /* standard error output. */
與上面用法類似,但write的首個引數是檔案描述符:
char err = "error\n";
write(stderr_fileno,err,strlen(err)); //輸出error(換行)
需要包含標頭檔案stdio.h
,perror是錯誤輸出函式,在標準輸出裝置上輸出乙個錯誤資訊,是對errno的封裝。perror(「fun」),其輸出為:fun:後面跟著錯誤資訊(加乙個換行符)。
perror("status:"); //不報錯時,輸出 status:success
stderror是通過引數errno,返回錯誤資訊:printf("strerror: %s\n",strerror(errno));
shell指令碼中報錯不立即退出設定
set e 表示有報錯即退出,set e 表示關閉這種設定。set e 等價於 set o errexit set e 等價於 set o errexit 如下指令碼若不設定set e,當git clone失敗之後將會退出,但是設定之後如果每次都失敗則會將計數器跑完3次 例子 retry count...
UFT的退出函式
1 exitaction 退出當前操作,無論其本地 操作 迴圈屬性是什麼。2 exitactioniteration 退出操作的當前迴圈。3 exitcomponent 退出當前元件並繼續業務流程測試中的下乙個元件,無論元件的迴圈設定是什麼。4 exitcomponentiteration 退出當前...
QTP的退出函式
1 exitaction 退出當前操作,無論其本地 操作 迴圈屬性是什麼。2 exitactioniteration 退出操作的當前迴圈。3 exitcomponent 退出當前元件並繼續業務流程測試中的下乙個元件,無論元件的迴圈設定是什麼。4 exitcomponentiteration 退出當前...