The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Обзор проблем в коде на C/C++, вызванных неопределённым пове..."
Отправлено pripolz, 08-Июл-17 11:52 
> А как же Вы обрабатываете ошибки? Я Плюсы знаю неплохо, но пишу
> на чистом Си. Простые задачи выношу в Питон. На обработку ошибок
> в Си, выставления errno и т.п. уходит иногда до половины кода
> (с учётом библиотеки под эти дела). Мне всегда было интересно, как
> у серьёзных проектов на плюсах дела с обработкой ошибок обстоят. try...
> намного увеличивают количество кода и уменьшают читабельность. Я уже не говорю,
> что я не смогу вызвать конструктор стекового объекта внутри try..., т.к.
> ограничу объект его областью видимости. Но в то же время программа
> должна корректно обрабатывать ошибки и реагировать на них. Так как Вы
> обходитесь без исключений то?

я всю обработку ошибок кладу в макрос, в котором и печать в лог номера строки кода, и вызов функции-пустышки BreakPointPit - чтобы поставить один брейкпоинт на все ошибки.
Получается универсальная проверка одной строчкой:
CHECK(statement, ERR_CODE);

Освобождение ресурсов при выходе обеспечивается goto ErrorLabel вместо простого return;

Ну я сишник, как ты понял. А плюсовики на моём опыте просто не обращают внимания. Присвоил локальной преременной new, и пошёл дальше. Выделится память или не выделится, бросит ли кто-то эксепшн дальше в функции, да пофигу. Они слишком уверенны в идеальности своих инструментов

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру