хотел поинтересоваться, считается ли плохим тоном бросать исключение в конструкторе? Я знаю, что объект не будет полностью создан, и из-за этого возможны утечки. Но в моем случае, я использую умные указатели и мне нужно при создании объекта системы проверить его получаемые данные в конструкторе, если что-то не правильно то бросить исключение и уже там сделать exit(), либо может делать exit прямо в конструкторе? Хотелось бы получить подробный ответ на эту тему. За ранее спасибо...
считается ли плохим тоном бросать исключение в конструкторе?
Нет, не считается. Исключения в том числе для того и предназначены, чтобы предоставить механизм аварийного выхода из тех контекстов, в которых других более-менее элегантных механизмов обработки исключительных ситуаций предложить не получается. Конструкторы как раз относятся к этой категории (операторы - другой пример). Разумеется, бросать исключения надо уметь правильно, чтобы не было никаких утечек.
Однако принятие решения о том, выбросить ли из конструктора исключение или все таки завершить конструирование объекта в некоем "подвешенном" состоянии - вопрос творческий и неоднозначный.
если что-то не правильно то бросить исключение и уже там сделать exit(), либо может делать exit прямо в конструкторе
У вас какая-то безусловная завязанность на exit наблюдается. Бросание и обработка исключений совсем не предполагает обязательного завершения программы. Исключение можно поймать, обработать, восстановиться после него и продолжить нормальную работу.
Но если в вашем случае возникновение исключительной ситуации обязательно приводит к завершению работы всей программы, то зашивать безусловное убивание всей программы в конструктор какого-то объекта - в большинстве случаев дурной тон. Лучше все таки просто выбросить исключение, а решение о завершении принять на более высоком уровне.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости