|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
||||||
Ограничения исключительных ситуаций f(.)throw(.){}07.08.2012, 13:09. Показов 2831. Ответов 20
Метки нет (Все метки)
Пробовал скомпилировать пример из Г. Шилдта [1]:
0
|
||||||
| 07.08.2012, 13:09 | |
|
Ответы с готовыми решениями:
20
Обработка исключительных ситуаций Обработка исключительных ситуаций! Обработка исключительных ситуаций |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 07.08.2012, 13:13 | |
|
Alberto_Timakov, Не заморачивайтесь на этом. Компиляторы творят со спецификацией исключений, что хотят. По стандарту, если выкидывается исключение, не входящее в спецификацию, должна быть вызвана функция unexpected, которая по умолчанию вызывает std::terminate, так же можно написать свой хандлер, который будет либо вызывать abort/terminate либо кидать исключение допустимого типа (теоретически так можно, на практике - никогда не предусмотришь все возможные исключения). В С++11 спецификации исключений помечены как deprecated, так что не советую забивать себе голову этим.
http://liveworkspace.org/code/... a2d72c8ea7
2
|
|
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|
| 07.08.2012, 13:20 [ТС] | |
|
ну ок...)
Добавлено через 31 секунду Т.е. это совсем бесполезная штука?
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 07.08.2012, 13:24 | |
|
Alberto_Timakov, Абсолютно. Единственное для чего она могла быть полезна - пустая спецификация исключений (throw()) - указывает, что функция не должна кидать исключений вообще, компилятор может произвести (а может и нет) некие оптимизации (или песимизации). В С++11 есть оператор noexcept(bool), который по сути является заменой спецификации исключений, если значение true - функция не имеет права кидать никаких исключений, если false то вполне имеет.
0
|
|
|
|
|
| 07.08.2012, 13:25 | |
|
0
|
|
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|
| 07.08.2012, 13:38 [ТС] | |
|
Ну я так понял, что игнорирование этого списка исключений...
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||
| 07.08.2012, 13:38 | ||
|
Avazart,
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 07.08.2012, 13:43 | |
|
Avazart, Именно. Так же deprecated всякие биндеры (т.к. есть std::bind), auto_ptr (std::shared_ptr, std::unique_ptr, std::weak_ptr) и т.д.
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||
| 07.08.2012, 14:25 | ||
|
Avazart, Потому что auto_ptr - плохой смарт-пойнтер. У него очень странная семантика владения и т.д.
1
|
||
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|||||||
| 07.08.2012, 14:29 [ТС] | |||||||
|
а вот еще вопрос,
Но он почему-то не работает...что не так?
0
|
|||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 07.08.2012, 14:31 | |
|
Alberto_Timakov, А. MSVC не вызывает unexpected.
0
|
|
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|
| 07.08.2012, 14:32 [ТС] | |
|
Выдает сообщение "Необработанное исключение в "0x7c812aeb" в "Monstrr.exe": Исключение Microsoft C++: int по адресу 0x0012fea0..", а сообщения "Новый обработчик terminate()" не выдает...
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||
| 07.08.2012, 14:36 | |||
|
На самом деле все работает http://liveworkspace.org/code/... b7c452a268, просто у MSVC странная точка зрения на это, вызывает ли он terminate_handler сказать не могу.
Добавлено через 1 минуту
0
|
|||
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
|
| 07.08.2012, 14:37 [ТС] | |
|
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 07.08.2012, 14:38 | |
|
Alberto_Timakov, Я бы на вашем месте проверил как у MSVC в релизе с этим дела обстоят. Вполне возможно, что в debug версии он не зовется, а в релизе зовется.
0
|
|
|
2 / 2 / 1
Регистрация: 21.11.2011
Сообщений: 183
|
||
| 07.08.2012, 14:51 [ТС] | ||
|
0
|
||
|
|
|
| 07.08.2012, 14:54 | |
|
Режим компиляции отладочный или итоговый подразумевается
0
|
|
| 07.08.2012, 14:54 | |
|
Помогаю со студенческими работами здесь
20
Обработки исключительных ситуаций Обработка исключительных ситуаций Обработка исключительных ситуаций Обработка исключительных ситуаций
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|