(9.2)--9.2 构造函数、析构函数与异常处理及异常匹配.ppt

上传人:奉*** 文档编号:96638326 上传时间:2024-02-01 格式:PPT 页数:18 大小:1.21MB
返回 下载 相关 举报
(9.2)--9.2 构造函数、析构函数与异常处理及异常匹配.ppt_第1页
第1页 / 共18页
(9.2)--9.2 构造函数、析构函数与异常处理及异常匹配.ppt_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《(9.2)--9.2 构造函数、析构函数与异常处理及异常匹配.ppt》由会员分享,可在线阅读,更多相关《(9.2)--9.2 构造函数、析构函数与异常处理及异常匹配.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、9.2构造函数、析构函数与异常处理及异常匹配第三节构造构造函数、析构函数与异常处理函数、析构函数与异常处理u 构造函数与异常处理u 析构函数与异常处理9.3.1构造函数与异常处理C+异常处理具有处理构造函数异常的能力,但是由于构造函数没有返回值,所以只能按以下两种选择报告在构造期间的错误:设置一个非局部的标志并希望用户检查它;希望用户检查对象是否被完全创建。必须把注意力集中在对象内部的指针和构造函数异常抛出时的清除方法上9.3.2析构函数与异常处理永远不要在析构函数中抛出一个异常或者通过执行在析构函数中的语句导致其它异常的抛出,这会导致系统对terminate()函数的调用。如果调用一个析构函

2、数中的某个函数有可能会抛出异常,则应该把这些调用写在析构函数中的一个try块当中。析构函数必须自己处理所有自身的异常,即这里的异常都不应逃离析构函数内部。9.3.2析构函数与异常处理第四节异常匹配异常匹配u在异常处理中,被抛出的异常处理对象的类型决定应该由哪段catch处理代码捕获并处理,异常会以类似于将实参传递给函数的方式被抛出和捕获。9.4.1异常匹配1.捕获某种类型的异常处理代码会根据在当前运行环境中能否解决引起异常的程序运行错误,对异常对象进行两种情况的处理:尝试解决程序运行错误,析构异常对象;无法解决程序运行错误,将异常对象抛向上一层运行环境。9.4.1异常匹配2.捕获所有类型的异常

3、l 在异常处理器中增加一个能捕获任意类型的异常对象的处理分支。l 应将能捕获任意异常的catch处理分支放在异常处理的最后,避免遗漏对可预见异常的处理,另外省略号不能与其它异常类型同时作为catch的参数使用。9.4.1异常匹配3.未捕获的异常l 如果try块执行过程中抛出的异常对象在当前代码中没有被捕获,则异常对象将进入更高一层的运行环境中。l 这种异常对象的抛出、捕获、处理过程按照运行环境的调用关系逐层进行,直到在某个层次的运行环境的异常处理器中捕获并恰当处理了异常对象才停止,否则将一直进行至到调用系统的特定函数terminate()终止程序运行。9.4.1异常匹配第五节9.5 标准标准异

4、常及层次结构异常及层次结构在C+标准库中提供了一批标准异常类,用于报告在标准库中的函数遇到的问题,为用户在编程中直接使用和作为派生异常类的基类。9.5.1标准异常类9.5.2异常层次结构第六节9.6 异常处理异常处理中需要注意的问题中需要注意的问题9.6异常处理中需要注意的问题1.异常被抛出需要开销相当的运行时间,因此不要把异常处理用于程序流控制的一部分。2.如果在构造函数中要抛出异常,则在抛出前要记得删除申请的资源。3.catch块的参数可以没有参数名称只需要参数类型。9.6异常处理中需要注意的问题4.函数原型中的异常说明要与实现中的异常说明一致,否则容易引起异常冲突。5.派生类的异常捕获要放到父类异常捕获的前面。其次,要确保派生类成员函数的异常规格说明和基类成员函数的异常规格说明一致。6.catch块的参数推荐采用地址传递而不是值传递。本章小结异常处理的目标是简化大型可靠程序的创建,使用尽可能少的代码,使应用中没有不受控制的错误。try块语句包含一个可能抛出异常的语句序列,catch子句用来处理在try块里抛出的异常,throw表达式用于退出代码块的运行,将控制转移给相关的catch子句。谢谢

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁