Нет, деструктор не будет вызван.
Если во время выполнения конструктора класса возникает исключение, объект считается не полностью сконструированным. В таком случае C++ не вызывает деструктор для этого частично созданного объекта. Вызываются деструкторы только для полностью сконструированных подобъектов (базовых классов или членов класса).
Пример:
cpp
Вывод программы:
plaintext
Деструктор ~MyClass() не вызывается.