void f() { ClassA* ptr = new ClassA; // Создание объекта try { ... // Работа с объектом } catch (...) { // Для произвольного исключения: delete ptr; // - освободить ресурс throw; // - перезапустить исключение } delete ptr; // Нормальное освобождение ресурса }