Можно ли бросать исключение из конструктора?
Коротко: Да
Чуть более длинно:
isocpp.org/wiki/fa…ceptions
Обычно конструктор вызывает страхи потому что нет уверенности в том как он работает. Вроде как особый метод, который находится на границе когда объект вроде как создан, а вроде как и нет (не инициализирован). Отсюда мысль "мало ли что". В свой практике я каких-то диких проблем с бросанием исключений в конструкторе не встречал.