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

C++

Войти
Регистрация
Восстановить пароль
 
_mayor
1 / 1 / 0
Регистрация: 29.08.2009
Сообщений: 63
#1

Восстановление типа исключения через ссылку - C++

11.09.2009, 21:16. Просмотров 606. Ответов 1
Метки нет (Все метки)

[c++] востановление типа исключения через ссылку

не совсем понимаю, что за объект создается в catch при ловле базового исключения:
C++
1
2
3
4
5
6
7
8
9
10
struct err { ... };
struct err_1 : public err { ... };
 
void f() try {
throw err_1();
}
catch (err& e) {
// является ли e обрезанным объектом от err_1 с типом err
// или виртуальная функция будет иметь доступ к данным определенным в err_1 ?
}
допустим для подсистемы ss1 создана иерархия исключений от struct ss1_err и набор функций типа
C++
1
void g() throw(ss1_err,exception);
затем пришлось перенести часть этих функций в подсистему ss2 со своей иерархией исключений ss2_err и переписывание системы фукний из ss1 не опция

как и с какой точностью обычно можно востановить обработку исключений унаследованных от ss2_er, если они проскальзывают через функцию типа:
C++
1
void g() throw(ss1_err,exception); // ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2009, 21:16     Восстановление типа исключения через ссылку
Посмотрите здесь:

Конвертация wchar_t в число целого типа. Обработка исключения - C++
Конвертирую считываемые данные с Экселя в число типа int,для дальнейшей проверки вхождения в массив. buff содержит значение 12345qwe ...

Пишем исключения для каждого типа данных, или можно использовать шаблон? - C++
Всем доброго дня. В классе "очередь" я использую шаблон класса и если пользователь захочет допустим ввести не тип int а тип double то мне...

Сохранение и восстановление данных типа CObject - C++
Уважаемые специалисты. Не могу разобраться с записью и восстановлением данных типа CObject в MFC, Ведь это простая задача, а у меня,...

Проверка треугольника через исключения - C++
Есть код который проверяет возможность создания треугольника из 3х чисел(сторон), но он работает с помощью условий. Как это все реализовать...

Проверка треугольника через исключения - C++
Есть код который проверяет возможность создания треугольника из 3х чисел(сторон), но он работает с помощью условий. Как это все реализовать...

Подскажите ссылку к классу для работы с файлами /типа class CFiles в MFC / - Visual C++
Можно конечно и самому написать, но не хочется изобретать велосипед.

Рекурсия через ссылку - C++
Добрый вечер, void fn1(int x) { if (x > 100) return; fn1(x + 1); } void fn2(int& x) { if (x > 100) return;

Задать функцию которая возвращает частное деление двух чисел (обработка ошибок - через исключения) - C++
Ребят,срочно нужнатваша помощ.Задать функцию,которая возвращает частное деление двух чисел.Обработку ошибок реализовать через...

Сортировка через ссылку на (указатель на указатели) - C++
Нужно, что бы функция принимала ссылку на указатель на много указателей,( и количество указателей, ясен пень.) И сортировала все ето,...

доступ к приватному члену через нестатическую ссылку - C++
Привет всем. забуксовал.. подтолкните пжалста: ситуация: - в хедере class A { private: int a; public: virtual void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
11.09.2009, 22:11     Восстановление типа исключения через ссылку #2
Цитата Сообщение от _mayor Посмотреть сообщение
// является ли e обрезанным объектом от err_1 с типом err
он срезан в том смысле, что нельзя обратиться к его уникальным функциям-членам, которых не было в базовом классе, без явного приведение типа с помощью dynamic_cast
Цитата Сообщение от _mayor Посмотреть сообщение
// или виртуальная функция будет иметь доступ к данным определенным в err_1
виртуальная функция, будь она определена в err и переопределена в err_1, будет иметь свою силу и при вызове вирт.функции базового класса будет вызвана та версия функции, какого типа являлся объект. т.е. в этом плане "обрезания" не будет.
Yandex
Объявления
11.09.2009, 22:11     Восстановление типа исключения через ссылку
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru