2014-11-18 4 views
-1

говорит, у меня есть кодКак я могу обрабатывать исключения в блоке поймать в C++

try 
{ 
    .... 
} 
catch() 
{ 
    .... // exception occur here ... how to handled. 
} 

Есть ли механизм в C++, с помощью которого выше сценарий может быть обработан.

+3

Заверните его в 'try' /' catch' ...? – Biffen

+7

Убедившись, что у вас нет кода, который может генерировать исключение в обработчике исключений? –

+2

Вышеупомянутый комментарий может звучать как шутка, но он мертв серьезно. –

ответ

2

Если вы думаете, что это то, что вы действительно хотите, вы можете сделать это следующим образом:

try 
{ 
    try 
    { 
     //... 
    } 
    catch(...) 
    { 
     //... 
     if(..) 
      throw std::runtime_exception("error occured"); 
    } 
} 
catch(std::runtime_exception& e) 
{ 
    // handle exception of exception handler 
} 
+0

Я тоже думаю об этом, но ... не знаю, может ли это лучший способ сделать что-нибудь еще ...? – Nihar

+0

@Nihar: вы также можете поместить блок try-catch в 'catch (...)' -body: 'try {} catch (...) {try {} catch (...)}' –