|
|
|
вопрос к опытным программистам13.07.2011, 13:22. Показов 1274. Ответов 12
Метки нет (Все метки)
напишите пожалуйста, как часто вам приходилось или приходится использовать для обработки ошибок
механизм try-catch. Возможен ли нормальный возврат в тут точку где было выброшено исключение, если оно преодолело несколько уровней обработки, или такое не практикуется? Напишите, поделитесь опытом о полезности данной конструкции. Интересно именно мнение живых людей практикующих с++, т.е. ваше..
0
|
|
| 13.07.2011, 13:22 | |
|
Ответы с готовыми решениями:
12
Опытным программистам С++ Вопрос к опытным програмистам Вопрос к программистам, имеющим опыт |
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
| 13.07.2011, 13:44 | |
|
AzaKendler, Постоянно использую. Очень полезная вещь.
Возврат в ту точку где было выброшено исключение часто нереален. Если исключение произошло по инициативе твоей программы и ты точно знаешь какие последствия оно несет, то ты можешь его залогировать и продолжить работу. Однако чаще приходят исключения непредвиденные, в этом случае можно например переинициализировать объект в котором произошло исключение.
1
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
| 13.07.2011, 14:02 | |
|
Вообще-то опыт подсказывает, что для маленьких программулин (Ну, примерно, до 1000 операторов) использование try-catch почти бесполезно. Программа маленкая, ее можно обозреть и так, поэтому применять тяжелую артиллерию (try-catch) смысла мало.
А вот если прога большая, то нужно обработку ошибок-ситуаций ПРОЕКТИРОВАТЬ с самого начала. И потом использовать средства try-catch уже в соответствии с запроектированными решениями, не допуская самодеятельности.
1
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 13.07.2011, 16:57 | |
|
1. Да, всегда.
2. Не возможно и обычно не нужно.
1
|
|
|
|
|
| 14.07.2011, 08:47 [ТС] | |
|
как на ваш взгляд, стоит ли по максимуму наполнять свой класс, который выбрасывается исключением, информацией? или вы в собственной практике обходитесь большинством стандартных заготовок?
0
|
|
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
| 14.07.2011, 08:54 | |
|
AzaKendler, Чем больше будет информации, тем точнее сможешь понять причину. Однако если сбои будут происходить часто, то твой лог файл может оказаться например очень большим, что усложнит его пересылку.
0
|
|
|
Заблокирован
|
||||||
| 14.07.2011, 10:10 | ||||||
|
насчёт нормального возврата не знаю, но вернуться можно хоть куда, если сильно захотеть
как видите, управление возвращается, только там проблема одна - исключение остаётся необработанным, но если ещё сильнее извратиться то и это можно обойти
0
|
||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|||||||
| 14.07.2011, 10:59 | |||||||
|
Только вот все переменные, инициализированные до блока асм могут уже быть испорченными. И это требует дополнительного кода (на х64 не работающего).
В любом случае, данный подход не применим, и следующий пример это иллюстрирует.
1
|
|||||||
|
Заблокирован
|
||
| 14.07.2011, 11:15 | ||
|
на x64 вобще можно rip читать напрямую не извращаясь со стеком, насколько мне известно
0
|
||
|
|
|
| 14.07.2011, 11:18 [ТС] | |
|
CAHTEXHUK, идеи интересные. но тут большинство советует что возвращаться не нужно.
а адреса хорошо помещаются в int?
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|||
| 14.07.2011, 11:29 | |||
|
Добавлено через 1 минуту
0
|
|||
|
Заблокирован
|
|
| 14.07.2011, 11:45 | |
|
в программировании этот приём бесполезен, я так привёл пример что возможно и такое. Если крякингом заняться захочешь то полезно уметь распознавать конструкции типа try\catch и уметь с ними работать. Да, в инт как раз помещается на i386
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 14.07.2011, 12:00 | |
|
Тогда уж лучше сразу обработчик подменить, раз уж хакерить взялись...
0
|
|
| 14.07.2011, 12:00 | |
|
Помогаю со студенческими работами здесь
13
вопрос к опытным програмистам Вопрос к опытным раскрутчикам. Вопрос к опытным гуру Вопрос к опытным Mac'овцам Вопрос к опытным: что горит в звуковухах? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|