退出與報錯函式

2021-08-26 08:59:04 字數 1129 閱讀 7938

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 退出當前...