Что такое исключения? Из названия понятно — они возникают, когда в программе происходит исключительная ситуация. Вы спросите, почему исключения — анти-паттерн, и как они вообще относятся к типизации? Я попробовал разобраться, и теперь хочу обсудить это с вами, хабражители.…
В индустрии сложилось устойчивое мнение, что Service Locator является анти-паттерном. Из wiki: "Стоит заметить, что в некотором случае локатор служб фактически является анти-шаблоном."В этой публикации я рассматриваю тот случай, когда, на мой взгляд, Service Locator анти-шаблоном не является. Читать далее
В одном мире ошибки считаются мусором. Их принято прятать, особенно в общественном пространстве. Люди, производящие ошибки, считаются тут глупцами. Люди, признающие их, считаются слабаками. Люди, признающие хотя бы их возможность,…
Ещё раз о том, почему плохо бросать исключения в деструкторах Многие знатоки C++ (например, Герб Саттер) учат нас, что бросать исключения в деструкторах плохо, потому что в деструктор можно попасть во время раскрутки стека при уже выброшенном исключении, и если в этот момент будет выброшено ещё одно исключение, в результате будет вызван std::terminate(). Стандарт языка C++17 (здесь и далее я ссылаюсь на свободно доступную версию драфта N4713) на эту тему сообщает нам следующее: Читать дальше →