Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Помогите разобраться с exeption в std::cout


Автор: neosapient 13.3.2014, 21:40
Здравствуйте.

Есть код:
Код

UINT64 foo()
{ return 42; }

void main()
{
  try{
    std::cout << "value is " << foo() << std::endl;
  }
  catch(std::exception& ex) {
    std::cout << ex.what();
  }
  catch(...) {
     std::cout << "common error";
  }
}


Получаю
Код

value is 42
common error


Мне не понятно, 
1) почему std::cout кидает исключение
2) почему исключение не ловится в обработчике  catch(std::exception& ex)?
3) как определить тип параметра, который должен быть у обработчика, чтобы перехватить исключение раньше, чем оно попадет в общий обработчик "common error"?

Автор: Lukkoye 13.3.2014, 22:05
К сожалению вы не предоставили рабочий код. А телепаты в отпуске.

Пример как грамотно предоставлять рабочий код:
http://rextester.com/IVMD11547

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)