2010-09-03 8 views
4

Je suis récemment tombé sur cette question - Qu'est-ce que la fonction try try block handler?Quelle est la fonction try block handler?

Aussi, où cela serait-il utile?

+0

oui, je l'ai fait ... mon doute est - pourquoi est-il là, quel est le véritable usage pour cela? – Hemant

+0

http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/index.jsp?topic=/com.ibm.vacpp7a.doc/language/ref/clrc17fn_try_block_hndlers.htm – DumbCoder

Répondre

3

fonction écrite comme ceci:

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

est appelé un bloc d'essai de fonction.

Ceci est généralement utilisé avec les constructeurs avec des listes d'initialisation pour capturer l'exception levée lors de la construction d'un objet construit dans la liste d'initialisation.

4

Here vous pouvez trouver une bonne explication.

Il pourrait être utile dans une liste d'initialisation d'un constructeur:

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 */ } 
}; 
Questions connexes