std::terminate().std::unique_ptr или std::shared_ptr для управления динамически распределенной памятью внутри конструктора позволяет обеспечить автоматическое освобождение при выбросе исключения.try-catch для перехвата исключения из конструктора.Пример с RAII:
cpp