#include <iostream>
#include <exception>

class A {
public:
	virtual ~A() {
		std::cout << "~A()" << std::endl;
	}
};

class B: public A {
public:
	~B() {
		std::cout << "~B()" << std::endl;
		throw std::exception();
	}
};
	
	
int main() {
	A* a = new B();
	delete a;
	return 0;
}
