005異常中的介面宣告

2021-09-19 15:10:33 字數 1025 閱讀 5889

/*

*異常中的介面宣告

異常被丟擲後,從進入try塊起,到異常被拋擲前,這期間在棧上的構造的所有物件,

都會被自動析構。析構的順序與構造的順序相反。這一過程稱為棧的解旋(unwinding)。

00異常中的棧解旋

 建構函式沒有返回型別,無法通過返回值來報告執行狀態,所以只通過一種非函式機制的途徑,

即異常機制,來解決建構函式的出錯問題。

*/#includeusing namespace std;

class testclass

~testclass()

private:

int a;

int b;

};void mydivide() throw(int, char, char*)//可以在這裡寫上丟擲的異常的資料型別,且異常只能是丟擲的型別

//不寫,可以丟擲任何型別的異常物件

void mydivide01()

void mydivide02() throw()//不寫型別,表示不丟擲異常,但是也可以丟擲異常,寫上只是為了提醒呼叫者

int main(void)

catch (int e)

catch (...)

system("pause");

return 0;}/*

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

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

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

void func();

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

void func() throw();

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

*/

異常 C 中的異常

本文參照於狄泰軟體學院 c 深度剖析課程 之前我們分析了c語言中異常處理的方式,基本沒有好的解決方案。那麼c 中會如何優化c語言對異常的處理的缺陷呢?c 內建了異常處理的語法元素try catch try語句處理正常 邏輯 catch語句處理異常情況 try語句中的異常由對應的catch語句處理 t...

Html中的宣告

本教程關於如何定義乙個合法的 xhtml 文件。在你每乙個頁面的頂端,你需要文件宣告。是的,必須。如果不指定文件型別,你的 html 不是合法的html,並且大部分瀏覽器會用 怪癖模式 quirks mode 來處理頁面,這意味著瀏覽器認為你自己也不知道究竟做什麼,並且按瀏覽器自己的方式來處理你的 ...

Html中的宣告

本教程關於如何定義乙個合法的 xhtml 文件。在你每乙個頁面的頂端,你需要文件宣告。是的,必須。如果不指定文件型別,你的 html 不是合法的html,並且大部分瀏覽器會用 怪癖模式 quirks mode 來處理頁面,這意味著瀏覽器認為你自己也不知道究竟做什麼,並且按瀏覽器自己的方式來處理你的 ...