The OpenNET Project / Index page

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



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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Обзор проблем в коде на C/C++, вызванных неопределённым пове..., opennews, 07-Июл-17, 11:12  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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