Middle+
28
0
questionbank

Если в конструкторе будет вызвано исключение, будет ли вызван деструктор?

Ответ от нейросети sobes.tech

Нет, деструктор не будет вызван.

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

Пример:

cpp

Нет, деструктор не будет вызван.

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

Пример:

cpp

Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.

exception-handlingobject-lifetimesgarbage-collectionfinalization