2015-04-10 9 views

Antwort

2

Was Sie suchen würde wahrscheinlich so etwas wie dieses:

try { 
    // ... 
} 
template <typename Exc> 
catch (Exc const& ex) { 
    throw Exc(std::string("Custom message:") + ex.what()); 
} 

Mindestens das ist, wie wir so etwas in C++ tun würde normalerweise. Leider können Sie in einem solchen Catch-Block keinen Template-Code schreiben. Das Beste, was Sie tun können, ist, einige Informationen zum Laufzeittyp als Zeichenfolge hinzuzufügen:

try { 
    // ... 
} 
catch (std::exception const& ex) { 
    throw std::runtime_error(std::string("Custom message from ") + 
          typeid(ex).name() + ": " + ex.what()); 
} 
Verwandte Themen