|
53 / 31 / 4
Регистрация: 19.12.2013
Сообщений: 170
|
||||||||||||||||
Обработка любых исключений в try catch на C++ также как на C#29.04.2016, 17:31. Показов 21373. Ответов 24
Метки нет (Все метки)
Есть ли возможность обрабатывать все ошибки в программе на C++, точно также как это сделано на C#?
На C# просто помещаешь текст программы в try catch и все, если будут ошибки программа не упадет и скажет что не так.
Была идея вот так сделать, но этот способ не работает, программа просто падает :
0
|
||||||||||||||||
| 29.04.2016, 17:31 | |
|
Ответы с готовыми решениями:
24
Как на vb.net делается обработка исключений try catch?
try, throw, catch...обработка исключений |
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 01.05.2016, 23:24 | |||
Сообщение было отмечено AnastasiaSX как решение
Решениеseh эксепшенов, и сигналов. при этом нужно иметь ввиду: все очень платформо-зависимое. для каждой платформы необходим индивидуальный подход. например, под линуксом мне удавалось поймать сигнал, вызванный делением на ноль. под windows xp - нет. и пришлось ловить эту ситуацию при помощи seh. кроме того, нужно быть готовым к различным нюансам. например, сигналы нельзя обрабатывать в многопоточной среде. ну и напоследок: не знаю, чем именно вы там занимаетесь, но если требование к надежности ПО: максимальная отказоустойчивость (сбой может угрожать жизни, либо имуществу человека), тогда я категорически не рекомендую вам играть в такие игры. отказоустойчивое ПО пишется по другим методикам. и первое правило надежного ПО: нельзя позволить жить сбойному процессу. так так он уже находится в нестабильном состоянии, то произойти может все что угодно. нельзя позволить такому процессу сделать ещё один шаг, и наломать дров. напротив, пока не поздно, необходимо максимально сразу же уничтожить сбойный процесс, активировав резервный модуль. если у самолета откажет двигатель, он сможет лететь на аварийном. но если сломанный двигатель вовремя не отключить, может произойти взрыв... Добавлено через 8 минут как по конвейеру передаются от одного процесса к другому. при этом, пока процесс-получатель не подтвердит успешную обработку, процесс-отправитель не удаляет свою копию исходных данных. при этом процессы лучше располагать на разных машинах, на случай отказа оборудования. система устроенная по принципу: пока жива хотя бы одна машина, на которой жив хотя бы один процесс, он должен суметь запустить аварийное оборудование, и вновь поднять все необходимые для функциональности системы компоненты.
5
|
|||
| 01.05.2016, 23:25 | ||||||
|
Не по теме:
0
|
||||||
|
Ушел с форума
|
|
| 01.05.2016, 23:54 | |
|
0
|
|
|
53 / 31 / 4
Регистрация: 19.12.2013
Сообщений: 170
|
|
| 03.05.2016, 00:01 [ТС] | |
|
Данные обрабатываются порциями, как описал hoggy, если порция данных обработана без ошибок приступаем к следующей порции, но если ошибка, есть два пути:
1) просто пропустить эту порцию данных, будет дырка в данных но останавливать программу нельзя (такая программа есть и уже случаи ошибок были, т.к. программа не упала и сказала что были проблемы с обработкой такого-то блока данных ошибку исправила и до конца дня программа доработала и проблем не было) 2) закончить обработку данных последний фрагмент просто отбросить. mat_for_c, да при делении на ноль как в примере будет бесконечность, но если в переменных поменять тип допустим на int, то при делении на ноль будет ошибка. Убежденный, если грамотно обработать исключение то диагностировать ошибку можно и без синих экранов смерти и без падения программы.
0
|
|
|
Ушел с форума
|
||
| 03.05.2016, 10:22 | ||
|
0
|
||
| 03.05.2016, 10:22 | |
|
Обработка исключений Конструкция try.catch.finally try catch в методе класса, обработка исключений Обработка исключений try - catch при сканировании каталога Обработка некорректного ввода, используя механизм исключений и блок Try-Catch Обработка исключений: что такое исключение и для чего нужен catch Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|