1. 首页
  2. 编程语言
  3. C
  4. C++ 程序抛出异常后执行顺序说明

C++ 程序抛出异常后执行顺序说明

上传者: 2022-06-14 04:31:11上传 PDF文件 149.18 KB 热度 10次

答案是C++标准指明析构函数不能、也不应该抛出异常!C++异常处理模型最大的特点和优势就是对C++中的面向对象提供了最强大的无缝支持。那就是把异常完全封装在析构函数内部,决不让异常抛出函数之外。另外,析构函数在生存期结束也会被调用。catch子句用于处理特定类型的异常。没有找到匹配的catch子句,如果这个try区段嵌套在其他try区段中,则继续检查与外层try匹配的catch子句。函数原型中的异常说明要与实现中的异常说明一致,否则容易引起异常冲突。所有从try到throw语句之间构造起来的对象的析构函数将被自动调用。catch块的参数推荐采用地址传递而不是值传递,不仅可以提高效率,还可以利用对象的多态性。

用户评论