2010-09-03 52 views
4

我最近遇到這個問題 - 什麼是函數try塊處理程序?什麼是try塊處理函數?

另外,它在哪裏有用?

+0

是的,我這樣做......我的疑問是 - 爲什麼它在那裏,這是什麼真正的用法? – Hemant 2010-09-03 06:20:50

+0

http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/index.jsp?topic=/com.ibm.vacpp7a.doc/language/ref/clrc17fn_try_block_hndlers.htm – DumbCoder 2010-09-03 07:16:32

回答

3

寫這樣的功能:

void fun() 
try 
{ 
..... 
..... 
} 
catch(SomeException & e) 
{ 
.... 
.... 
} 

稱爲函數try塊。

這通常與具有初始化列表的構造函數一起使用,以捕獲在構建初始化列表中構造的對象期間拋出的異常。

4

Here你可以找到一個很好的解釋。

這可能是在構造函數的初始化列表有用:

struct A 
{ 
private: 
    std::string s; 
public: 
    A(int value) try : s(boost::lexical_cast<std::string>(value)) {} 
    catch (boost::bad_lexical_cast) { /* handle lexical_cast exception here */ } 
}; 
相關問題