Форум программистов, компьютерный форум CyberForum.ru

если ли стандартное исключение чтоб перехватывало - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ без знаковый double. Если ли чтоб можно было в шаблон пихать или самому сделать придется ? http://www.cyberforum.ru/cpp-beginners/thread645199.html
сабжж
C++ Как можно переопределить <обобщенный аргумент> в обобщенном классе допустим есть что то простое // // #ifndef Print_HPP #define Print_HPP http://www.cyberforum.ru/cpp-beginners/thread645181.html
C++ Что означают данные
Здравствуйте. подскажите что могут означать данные следующего характера? DWORD poffsets::dw_m_lifestats() {...
C++ Метрики Холстеда
Добрый вечер! В качестве индивидуального задания студент произвольно выбирает программу, ко-торую он разработал и отладил (необходимо представить распечатанный листинг) при изучении предыдущих дисциплин цикла «Программное обеспечение» («Программирова-ние», «Системное программирование» и др.). Требуется для представленного программно-го модуля с использованием соотношений определить значения...
C++ Зачем нужен спецификатор private? http://www.cyberforum.ru/cpp-beginners/thread645110.html
Зачем нужен спецификатор private?Если по умолчанию все члены класса являются частными? Class queue { int q; int sloc, rloc; public: void init (); void qput(int i); int qget(); private: ...
C++ Быстрая сортировка Друзья, здравствуйте! Как работает быстрая сортировка - у меня практически вопросов нет: #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; const int n=10; template <class T> void QuickSort (T Ar, long N) { подробнее

Показать сообщение отдельно
Leeto
 Аватар для Leeto
7 / 7 / 0
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
01.09.2012, 17:28  [ТС]     если ли стандартное исключение чтоб перехватывало
Цитата Сообщение от DU Посмотреть сообщение
вопрос двусмысленный.
все, что генерируется библиотекой STL - это исключения, которые унаследованы от стандартного std::exception.

Но из недр библиотек могут лететь и другие исключения, у которых может быть общий предок и он не обазятельно унаследован от стандартного.

Например при попытке вставить объект в вектор и в случае нехватки памяти вылетит стандартное std::bad_alloc. Но если память выделилась, дальше зовется конструктор копирования вставляемого объекта. Ну и из этого конструктора может вылететь что-угодно. Поэтому, если написать такой код:

C++
1
2
3
4
5
6
7
8
try
{
  vector<Foo> v;
  v.push_back(Foo());
}
catch (std::exception&)
{
}
То это не перехватит всех возможных исключений, которые могут возникнуть в данном коде.


Резюме: Какого-то базового исключения для всех типов исключений не существует.
Можно только ставить catch(...), но тут тип исключения неизвестен.
Надо сказать, есть хитрый трюк для идентификации типа исключения в рантайме, и его можно применить для преобразования одного типа исключения в другое. Но код преобразования нужно писать самостоятельно для каждого типа исключения.

т.е. придется самому класс для данного исключение писать или можно что то из буста вытащить ??? уже готовое (или из других библиотек ) ???
 
Текущее время: 06:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru