C 異常機制 DAY10

2021-09-19 20:53:35 字數 845 閱讀 2231

1.異常被丟擲後,從進入try塊起,到異常被拋擲前,這期間在棧上的構造的所有物件,都會被自動析構。析構的順序與構造的順序相反。這一過程稱為棧的解旋(unwinding)。測試程式如下:

#include using namespace std;

class test

~test()

private:

int a;

int b;

};void mydivide()

void main()

catch (int a)

catch (...)

cout << "hello..." << endl;

system("pause");

return;

}

執行結果:

2.異常介面宣告

1)為了加強程式的可讀性,可以在函式宣告中列出可能丟擲的所有異常型別,例如:

void func() throw (a, b, c , d); //這個函式func()能夠且只能丟擲型別a b c d及其子型別的異常

2)如果在函式宣告中沒有包含異常介面宣告,則此函式可以拋擲任何型別的異常,例如:

void func();

3)乙個不拋擲任何型別異常的函式可以宣告為:

void func()  throw();

4) 如果乙個函式丟擲了它的異常介面宣告所不允許丟擲的異常,unexpected函式會被呼叫,該函式預設行為呼叫terminate函式中止程式。

C 基礎程式設計DAY10

寫乙個函式,將乙個整數的各位數字的反序列印 include include using namespace std int reverse out int n cout endl return 0 void show int n int main 1 函式show 採用遞迴求解,if n 10 co...

刻意練習Python基礎 day 10 異常處理

錯誤型別 說明assertionerror 斷言語句失敗 attributeerror 物件沒有這個屬性 indexerror 序列中沒有此索引 index indentationerror 縮排錯誤 importerror 匯入模組 物件失敗 nameerror 未宣告 初始化物件 沒有屬性 os...

閉關日記 Day10

小雨。我想想怎麼寫,先挖坑。d 確認4.1 考科目三,估計過幾天要開始練車了。晚上去工作室敲 剛好看到他們在筆試,明天就是我筆試了,祝一切順利 專案f的電鋸聲識別,開始用比較勉強的方式實現,算是折衷吧,迫於時間,暫時如此,精準的識別想來是我目前做不出來的,如果畢設做這個,倒是也可以好好研究一些聲音方...