The OpenNET Project / Index page

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



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

Исходное сообщение
"Обновление DNS-сервера BIND 9.11.22, 9.16.6, 9.17.4 с устран..."
Отправлено Ordu, 21-Авг-20 15:54 
Подход долбанов -- это когда опыта нет, а мнение есть. Тебе не приходилось сталкиваться с ситуацией, когда в твою функцию через аргументы закидывают указатель, и ты в документации к ней написал, что указатель должен быть !NULL, но тем не менее, зная как это бывает, решил написать:

if(ptr == NULL) {
    // ???
}

Вот ты написал это, и что ты будешь писать вместо ??? ? Какое осмысленное действие можно совершить, кроме уронить приложение к чертям? Как вообще можно осмысленно реагировать на то, что кто-то зачем-то засунул тебе NULL туда, куда NULL пихать нельзя?

Есть один способ: можно закладывать в API возможность выкинуть совершенно любую ошибку, в надежде что вызывающий код сможет найти способ отреагировать осмысленно. Но для этого а) надо закладывать возможность выкинуть любую ошибку, б) для вызывающего кода эта ошибка, практически наверняка, будет такой же бессмыслицей: то есть если программист даже и допустит возможность такой ошибки, он не сможет найти осмысленного способа отреагировать.

Обработка ошибок -- это очень занятная штука: если проследить весь путь ошибки от места, где код решил, что это ошибка, и до того места, где есть возможность ошибку обработать осмысленно (а не просто преобразовать к другому типу ошибки и пробросить дальше), то можно много чудных открытий сделать: например, смысл ошибки меняется по мере размотки стека. В момент детекта ошибки, это был unexpected char, потом эта ошибка превратилась в spurious brace, потом в malformed indexing operator invocation, а затем вдруг в YOUR CONFIG FILE HAD BEEN EDITED BY A MORON, GO AND FIX IT NOW.

 

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



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

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