函數名稱: raise
頭檔:<stdio.h>
函數原型: int raise(int sig);
功 能: 向正在執行的程式發送一個訊號
參數:要發送訊號的名稱
傳回值:成功回傳0 ,失敗回傳非0值
補充: SIGABRT (Signal Abort) 程序異常終止。
SIGFPE (Signal Floating-Point Exception) 算術運算出錯,如除數為0或溢出(不一定是浮點運算)。
SIGILL (Signal Illegal Instruction) 非法函數映像,如非法指令,通常是由於程式碼中的某個變體或嘗試執行資料所導致的。
SIGINT (Signal Interrupt) 中斷訊號,如ctrl-C,通常由使用者產生。
SIGSEGV (Signal Segmentation Violation) 非法存取記憶體,例如存取不存在的記憶體單元。
SIGTERM (Signal Terminate) 傳送給本程式的終止請求訊號。
程序例:判斷除法是否有意義,當除數為0時,發送訊號
#include<signal.h>#include<stdio.h>intmain(void){inta,b;a=10;b=0;printf(begin-----n);if(b==0) raise(SIGFPE);//若除數為0發出訊號終止程式a=a/b;printf(begin-----n);return0;}運行結果
begin-----