Middle+
32
0
questionbank

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

Answer from sobes.tech neural network

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

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

Пример:

cpp

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

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

Пример:

cpp

Register or sign in to get access to full answers for all questions from the question bank.

exception-handlingobject-lifetimesgarbage-collectionfinalization