函式後面加throw關鍵字

2022-06-02 13:09:09 字數 889 閱讀 1336

為什麼函式後面加throw關鍵字?

c++函式後面加關鍵字throw(something)限制,是對這個函式的異常安全性作出限制。

舉例及解釋如下:

void fun() throw() 表示fun不允許丟擲任何異常,即fun是異常安全的。

void fun() throw(...) 表示fun可以丟擲任何形式的異常。

void fun() throw(exceptiontype) 表示fun只能丟擲exceptiontype型別的異常。

還不明白嗎?看這個解釋(乙個形象笑話):

throw()   大概會說:「噢,不管你拋什麼,就是不准拋。」

throw(...)   呵呵一笑,滿臉慈祥:「拋吧拋吧,盡情地拋吧。」

throw(type)   一聽急了:「那可不行,要拋也只能拋我的香菸頭,否則要是不小心把俺祖傳的金戒指拋掉就太虧了。」

尤其注意這是異常規範,只會出現在宣告函式中,表示這個函式可能丟擲任何型別的異常。

void gettag() throw(int); 表示只丟擲int型別異常

void gettag() throw(int,char); 表示丟擲in,char型別異常

void gettag() throw(); 表示不會丟擲任何型別異常

void gettag() throw(...); 表示丟擲任何型別異常

那麼,void gettag() throw(int); 表示只丟擲int型別異常  這句解釋怎麼理解呢?

並不表示一定會丟擲異常,但是一旦丟擲異常只會丟擲int型別。

如果丟擲非int型別異常,呼叫unexsetpion()函式,退出程式。

good good study, day day up.

順序  選擇  迴圈  總結

C 函式後面加throw關鍵字簡記

看 時候看到fun throw 的用法,找到一篇blog解釋很簡單,如下 c 函式後面加關鍵字throw something 限制,是對這個函式的異常安全性作出限制。舉例及解釋如下 void fun throw 表示fun不允許丟擲任何異常,即fun是異常安全的。void fun throw 表示f...

C 函式宣告後面加throw 的作用

問題描述 c 裡面為什麼有時候在函式宣告的時候在後面加throw 關鍵字?解釋 c 函式後面加關鍵字throw something 限制,是對這個函式的異常安全作出限制 這是一種異常規範,只會出現在宣告函式時,表示這個函式可能丟擲任何型別的異常。void fun throw 表示fun函式不允許丟擲...

函式名前加static關鍵字

1.函式名前加static關鍵字 函式就被定義成為靜態函式。函式的定義和宣告預設情況下是extern的,但靜態函式只是在宣告他的檔案當中可見,不能被其他檔案所用。定義靜態函式的好處 1 靜態函式不能被其他檔案所用。2 其他檔案中可以定義相同名字的函式,不會發生衝突。3 靜態函式會被自動分配在乙個一直...