metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2014-09-29 11:55 am

С++ EH и логика на исключениях

Хорошо ли в C++ программе делать логику на исключениях?
Я ща втыкаю в одну опенсорсную СУБД в продакшене отладчиком и вижу что там на каждый запрос валится стопицот крестиковых исключений, и не понимаю, это нормально или нет.

[identity profile] aamonster.livejournal.com 2014-09-29 09:45 am (UTC)(link)
Так штука в том, что обычно надо продолжить выполнение, а c++ exceptions этого не умеют.
Итого, для пользования NullReferenceException - надо писать 100500 обработчиков (в каждой функции). Зачастую проще перед каждой строчкой написать if(...), а в Objective C и этого не надо - обращение к методу нулевого объекта ничего не сделает и вернёт (если тип результата не длиннее указателя) ноль (когда пишешь гуйню - удобно, а в нормальном коде всё равно проверки ставить надо).