C C程式 函式結束

2021-06-22 09:36:29 字數 1011 閱讀 3946



《一》c++函式結束與異常處理:

(1)return:

(1.1)功能簡介:

return語句用於結束當前正在執行的函式,並將控制權返回給呼叫此函式的函式。

(1.2)使用方法:

(1.2.1)不帶返回值的return語句只能用於返回型別為void的函式。

(1.2.2)任何返回型別不是void的函式都必須返回乙個值,而且這個返回值的型別必須和函式的返回型別相同,或者能隱式轉化為函式的返回型別。

如: return 0;

(3)trycatch(){};

funa()    

}funb()

int main()catch(exception* e)

}  解析:在函式a中,由於某種原因丟擲了乙個異常,這不但會退出迴圈,同時還會退出整個a函式。由於呼叫a函式的b沒有捕獲這個異常,因此b也要退出。異常繼續往上傳遞,現在到了main函式,它裡面使用try-catch捕獲到了這個異常,因此進入了catch**塊。簡而言之就是 throw乙個異常會退出這個函式的呼叫堆疊,直到其上級堆疊有捕獲為止。如果都沒有捕獲,那麼程式退出。退出錯誤為,unhandled exception。

總結:throw 丟擲異常後,程式會跳轉到catch處,如果沒有匹配的catch,則程式結束。

(4)setjmp的使用:

---------------------------------------

《二》程式終止執行:

c++程式的終止和c語言中的程式終止函式很類似

(1)•從main函式返回

(2)•exit()函式被呼叫

(3)•abort()函式被呼叫

(4)•丟擲乙個未**捉到的異常

(5)使用者通過ctrl+c或ctrl+break操作來終止程式:

注意:利用exit()函式終止的程式,所有已經構造起來的靜態物件的析構函式都將被呼叫,然而,如果程式是呼叫abort函式終止,那麼析構函式都不會被呼叫。因此在析構函式裡呼叫exit()函式可能會造成無窮遞迴。

c c 結束程序

1.使用exitprocess 結束程序 程序只是提供了一段位址空間和核心物件,其執行時通過在其位址空間內的主線程來體現的。當主線程的進入點函式返回時,程序也就隨之結束。這種程序的終止方式是程序的正常退出,程序中的所有執行緒資源都能夠得到正確的清除。除了這種程序的正常退出方式外,有時還需要在程式中通...

程式結束後呼叫的函式 註冊終止函式

相關函式 exit,atexit,exit 註冊終止函式 1,on exit 標頭檔案 include 定義函式 int on exit void function int void void arg 函式說明 on exit 用來設定乙個程式正常結束前呼叫的函式.當程式通過呼叫exit 或從mai...

VC 結束程式程序

1.使用exitprocess 結束程序 程序只是提供了一段位址空間和核心物件,其執行時通過在其位址空間內的主線程來體現的。當主線程的進入點函式返回時,程序也就隨之結束。這種程序的終止方式是程序的正常退出,程序中的所有執行緒資源都能夠得到正確的清除。除了這種程序的正常退出方式外,有時還需要在程式中通...