Реальный вопрос: «Распределяет ли myclass саму память, которая должна быть свободна / удалена?»
Если это не так - если единственная память, которую он использует, это ее внутренние члены - тогда она полностью существует в стеке. Как только он покидает эту функцию (как бы то ни было), память в стеке освобождается и используется повторно. myclass
ушел. Так работают стеки.
Если myclass выделяет память, которая должна быть освобождена в его dtor, то вам все же повезло, так как dtor будет вызван, так как стек разматывается во время броска. Dtor будет уже вызван до того, как исключение будет объявлено необработанным, и будет вызвано завершение.
Единственное место, где у вас будут проблемы, - это если у myclass есть dtor, и dtor выбрасывает в качестве исключения своего собственного. Во время второго броска, происходящего во время разматывания стека после первого броска, вызов будет немедленно завершен без вызова дополнительных дторов.