> -- Илья Ермаков писал(а):
> Например, на этапе выполнения может докладываться о событии какому-то модулю, отвечающему за диагностику ошибок. Потом где-то на верхнем уровне после вызова система выполняет самоанализ, всё ли происходило успешно. Делать коды ошибок для ошибок программы (нарушения предусловий) не есть хорошо, запутаетесь быстро.

Кроме того коды ошибок частенько очень хочется проигнорировать

Однако я не очень понял как это будет работать.
Вот в рантайме у нас внезапно случился вызов той самой функции с не правильным индексом. Наш умный рантаймовый ASSERT, проверил предусловие, и понял, что сейчас случится бяка. Соответственно радостно об этом доложил какому-то спец. модулю. Этот модуль, видимо где-то поставил пометочку, что да, произошла ошибка. Будем потом восстанавливаться. Однако что дальше? Ведь если этот умный ASSERT сейчас не вызовет страшный системный ASSERT который погасит приложение нафиг, то управление передастся уже собственно логике этой процедуры, что приведет к не предсказуемым результатам (например случится доступ к не валидному адресу памяти). Как быть?