- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13.4C++异常处理的实现 13.4.1C++的异常类 C++/VC++异常类有:CException类是所有如下异常类的基类。CArchiveException类处理归档异常错误;CDaoException类处理DAO数据库操作失败引起的异常错误;CODBCException类处理ODBC数据库操作失败引起的异常错误;CFileException类处理文件输入输出异常错误;CMemoryException类处理内存溢出引起的异常错误; 返回 下一页 13.4C++异常处理的实现 CNotSupportedException类处理由于不支持的操作引起的异常错误;COleException类处理OLE操作失败引起的异常错误;COleDispatchException类处理OLE自动操作失败引起的异常错误; CResourceException类处理由于调入Windows资源失败引起的异常错误;CUserException类用来停止用户指定的操作;CinternetException类处理Internet操作失败引起的异常错误。 返回 下一页 上一页 13.4C++异常处理的实现 13.4.2C++的try和catch的语句 try~catch语句的格式如下: try{…}//被监视的代码段,若发生异常,则交由其后的catch代码段处理 catch(异常类型声明){…}//要处理的第一种异常 catch(异常类型声明){…}//要处理的第二种异常 …//要处理的第N种异常。 catch(…)//最后的处理。 try~catch语句功能是:try子句后面的复合语句是代码的保护段,这一段程序是可能出现异常的程序段。如果在程序的运行过程中真的发生了异常,由“throw表达式”将异常抛出。 返回 下一页 上一页 13.4C++异常处理的实现 而由catch(异常类型声明)子句对异常进行捕获,再进行对错误的处理。在编写带有异常处理程序时,将把可能发生异常情况的代码放于try代码段中,利用try语句对这组代码进行监视。如果发生了第一种异常,系统将使用第一个catch代码段进行异常处理,如果发生了第二种异常,系统将使用第二个catch代码段进行异常处理……。直到最后都没有找到异常处理的合适catch代码段,将由catch(…)子句的代码段进行处理。 返回 下一页 上一页 13.4C++异常处理的实现 catch代码段在执行前,必须识别抛出的异常是catch能够捕获的异常。任何catch(异常类型声明)中声明的异常类型与抛出的异常类型相同,或者是它的父类,catch代码段都能够捕获这种异常。若要在VC++6.0环境中使用异常处理机制,其设置方法为:打开ProjectSetting对话框;选择C/C++选项;在Category栏中选择C++Language;选择EnableExceptionHandling。 返回 下一页 上一页 13.4C++异常处理的实现 13.4.3C++的throw语句 throw是C++/VC++语言的一个关键字,用于告知编译器此处将要抛出一个异常。throw语句的格式为: throw表达式; throw语句的功能是:此处将一个异常类或表达式抛出。 如果某段程序中发现了程序不能处理的错误,就用“throw表达式”将异常抛出,这个异常将由程序段调用者搜寻和捕获。“throw表达式”在表示异常类型的语法上与“return表达式”语句的表达式相似,如果程序中有多处要抛出异常,应该用不同类型的表达式进行区别,表达式的数值不能区别异常的不同。 返回 上一页 13.5异常处理中的构造函数和析构函数 C++/VC++的异常处理能力,不仅可以处理各种不同类型的异常,还能够为异常抛出前所构造的所有局部对象自动地调用相应的析构函数以清除相应的对象。(详见书上例题) 返回 图13?1包含文件示意图 返回 第13章 预处理和异常处理 13.1 C++的预处理 13.2 C++多文件程序结构 13.3 异常处理的基本概念 13.4 C++异常处理的实现 13.5 异常处理中的构造函数和析构函数 13.1C++的预处理 使用编辑软件建立最初的源代码文件,这个程序在真正执行之前一般经历5个不同的处理阶段: 编辑:输入源代码,包括C++源程序和可能有的预处理控制行。 预处理:对带有宏调用等预处理控制行进行预处理。 编译:将带有宏扩展等内容的源代码文件编译成汇编语言的源代码。 汇编:将汇编语言的源代码文件汇编成可重定位目标代码。 连接:将可重定位目标代码模块连接成可执行代码——可执行文件。 返回 下一页 13.1C++的预处理 从语法上讲,预处理程序控制行与语言的其他成分无关,它们可以出现在程序代码的任何地方,
您可能关注的文档
- autocad实操与实训教学课件作者曹敏模块二平面图形绘制.ppt
- autocad实操与实训教学课件作者曹敏模块六autocad三维建模简介.ppt
- autocad实操与实训教学课件作者曹敏模块七图形输出.ppt
- autocad实操与实训教学课件作者曹敏模块三平面图形编辑.ppt
- autocad实操与实训教学课件作者曹敏模块四文字、表格和尺寸标注.ppt
- autocad实操与实训教学课件作者曹敏模块五零件图的绘制.ppt
- autocad实操与实训教学课件作者曹敏模块一autocad基础知识.ppt
- autocad实用教程教学课件作者徐秀娟第1单元.ppt
- autocad实用教程教学课件作者徐秀娟第2单元.ppt
- autocad实用教程教学课件作者徐秀娟第3单元.ppt
- c++语言程序设计教学课件作者赵海廷第14章.ppt
- c++语言程序设计教学课件作者赵海廷书名及目录.ppt
- cadcam软件应用(本书配cd-rom光盘) 教学课件 作者 谢颖 1.ppt
- cadcam软件应用(本书配cd-rom光盘) 教学课件 作者 谢颖 2.ppt
- cadcam软件应用(本书配cd-rom光盘) 教学课件 作者 谢颖 3.ppt
- cadcam软件应用(本书配cd-rom光盘) 教学课件 作者 谢颖 4.ppt
- cadcam软件应用(本书配cd-rom光盘) 教学课件 作者 谢颖 5.ppt
- cadcam软件应用(本书配cd-rom光盘) 教学课件 作者 谢颖 6.ppt
- cadcam软件应用(本书配cd-rom光盘) 教学课件 作者 谢颖 7.ppt
- cadcam软件应用(本书配cd-rom光盘) 教学课件 作者 谢颖 8.ppt
文档评论(0)