是的,析构函数将按预期调用,就像您因异常而提前退出范围一样.
标准6.6/2(跳转声明):
在从范围退出(但是已完成)时,将为所有具有自动存储持续时间的构造对象调用析构函数,这些对象在该范围内以与其声明相反的顺序进行声明.