Конечно, вы можете использовать исключения, которые разматывают стек и запускают соответственно деструкторы локальных переменных.
Или вы можете использовать старый добрый setjmp/longjmp
, который не будет запускать деструкторы. IIRC, это приведет к неопределенному поведению, если будут пропущены деструкторы.