繁体   English   中英

功能尝试块。一个有趣的例子

[英]function try block. An interesting example

考虑以下C ++程序

struct str
{
       int mem;
       str()
       try
          :mem(0)
       {
               throw 0;
       }
       catch(...)
       {
       }
};

int main()
{
       str inst;
}

catch块工作,即控件到达它,然后程序崩溃。 我无法理解它有什么问题。

一旦控件到达构造函数的function-try-block的catch块的末尾,就会自动重新抛出异常。 因为你没有在main()中进一步捕获它,所以调用了terminate()。 这是一个有趣的阅读: http//www.drdobbs.com/184401316

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM