第10章--异常处理.pptx

上传人:可**** 文档编号:76389224 上传时间:2023-03-10 格式:PPTX 页数:12 大小:324KB
返回 下载 相关 举报
第10章--异常处理.pptx_第1页
第1页 / 共12页
第10章--异常处理.pptx_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《第10章--异常处理.pptx》由会员分享,可在线阅读,更多相关《第10章--异常处理.pptx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C+程序设计新世纪应用型高等教育教材编审委员会 组编主编 罗烨 李秉璋第二版新世纪应用型高等教育软件专业系列规划教材第10章 异常处理10.1 异常的概念和异常处理的基本思想3程序的错误通常包括程序的错误通常包括:语法错误、逻辑错误、运行异常。语法错误、逻辑错误、运行异常。语法错误指书写的程序语句与语言规则不符语法错误指书写的程序语句与语言规则不符,无法通过编译器编译。这类错误在编译无法通过编译器编译。这类错误在编译、连接连接时由编译器指出。时由编译器指出。逻辑错误是指程序能顺利运行逻辑错误是指程序能顺利运行,但是没有实现预期的功能及得到预期结果。这类但是没有实现预期的功能及得到预期结果。这类

2、错误错误通过通过调试、分析发现问题调试、分析发现问题。运行。运行异常异常(exception)是指程序在运行的过程中由于意外的结果、是指程序在运行的过程中由于意外的结果、运行环境问题造成运行环境问题造成程序程序异常终止异常终止,如操作员操作失误、内存空间不足、设备没有准备好、文如操作员操作失误、内存空间不足、设备没有准备好、文件读写不成功、执行件读写不成功、执行了除了除0操作操作等。程序运行中的运行异常是可以预料但难以避免的。对等。程序运行中的运行异常是可以预料但难以避免的。对于运行异常不能简单于运行异常不能简单地退出地退出整个程序整个程序,特别是对大型程序更不能如此处理。因此为了保证程特别是

3、对大型程序更不能如此处理。因此为了保证程序的健壮性序的健壮性,必须在必须在程序程序中对运行异常进行预见性处理。对运行异常进行预见性处理称为异中对运行异常进行预见性处理。对运行异常进行预见性处理称为异常处理。常处理。10.1 异常的概念和异常处理的基本思想410.2 异常处理机制5C+中异常处理中异常处理机制的主要思想是机制的主要思想是:程序在程序在结构上分为两个区域结构上分为两个区域:异常抛出区、异常抛出区、异常处理异常处理区区(图图10-2),把可能造成异常的一系列操作把可能造成异常的一系列操作(语句或语句或函数调用函数调用)放在异常抛出区放在异常抛出区的的try语句语句块中块中,如果如果t

4、ry语句语句块中的某个操作在执行中产生了异常块中的某个操作在执行中产生了异常,则则通过执行一个通过执行一个throw语句抛出语句抛出(产生产生)一个异常对一个异常对象。抛出的对象将由异常处理区的象。抛出的对象将由异常处理区的catch语句语句来来捕获并处理。捕获并处理。10.2.1 异常处理的语法10.2 异常处理机制6(1)try语句语句块语法如下块语法如下:10.2.1 异常处理的语法(2)throw()语句的功能是在发生异常时语句的功能是在发生异常时,产生并抛出异常对象。语法格式产生并抛出异常对象。语法格式如下如下:10.2 异常处理机制7(3)catch语句语句在异常处理区中在异常处理

5、区中捕获捕获throw抛出抛出的异常对象的异常对象,然后进行相应的然后进行相应的异常处理异常处理。语法。语法格式如下格式如下:10.2.1 异常处理的语法10.2 异常处理机制8为了加强程序的可读性为了加强程序的可读性,使用户能够清楚了解所使用的函数可以抛出哪些异常使用户能够清楚了解所使用的函数可以抛出哪些异常,可以可以在函数在函数的声明中列出函数可以抛出的所有异常类型的声明中列出函数可以抛出的所有异常类型,称为异常接口声明。语法形式如下称为异常接口声明。语法形式如下:其中其中:(1)“异常类型表异常类型表”中列出函数可以抛出的各种异常类型名。中列出函数可以抛出的各种异常类型名。(2)当函数声

6、明中没有当函数声明中没有throw关键字关键字时时,表明函数可以抛出任何异常表明函数可以抛出任何异常;(3)当函数声明中有当函数声明中有throw关键字关键字时时,但没有但没有“异常类型表异常类型表”时时,表明函数不抛出表明函数不抛出任何任何异常。异常。10.2.2 异常接口声明10.2 异常处理机制910.2.3 异常处理的嵌套10.2 异常处理机制10异常处理程序在捕获异常后异常处理程序在捕获异常后,会出现两种情况会出现两种情况:(1)发现本身不能处理发现本身不能处理,或者只能做部分处理。或者只能做部分处理。(2)即使进行了某些处理即使进行了某些处理,还需要继续或重新处理还需要继续或重新处

7、理。C+中重新中重新抛出已经抛出的任何一种异常的语句是抛出已经抛出的任何一种异常的语句是:throw;10.2.4 异常的重新抛出10.3 异常处理实例数组下标越界异常处理11C+标准标准库提供了一个异常类层次结构。异常类库提供了一个异常类层次结构。异常类以以exception作为作为基类基类,定义在库定义在库的的头文件头文件中。用户可以使用中。用户可以使用C+标准标准库中的异常类处理程序中的异常。库中的异常类处理程序中的异常。excep-tion基基类提供类提供了了what()虚函数虚函数,用户程序也可以用户程序也可以在在exception的的派生类中派生类中改写改写what()函数函数,以输出相应的异常信息。以输出相应的异常信息。10.2.4 异常的重新抛出THANKS

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

当前位置:首页 > 应用文书 > 工作计划

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

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