#include <iostream>
using namespace std;

struct A{
	A(){
		std::cout << "new A\n";
	}
	~A(){
		std::cout << "delete A\n";
	}
};

class B{
	A *a;
public:
	B(): a(new A){
		//Нормальный конструктор
	}
	B(int i): a(new A){
		//Конструктор с исключенеим
		throw i;
	}
	
	~B(){
		delete a;
	}
};

int main() {
	B b1; //Все хорошо
	try{
		B b2(42); //Детруктор не вызван
	}catch(...){
		
	}
	return 0;
}