《面向对象程序设计》课程教学资源(课件讲稿)第21章 异常处理(PPT)

第21章异常处理
第21章 异常处理

目录21.1异常的概念21.2异常的基本思想21.3异常的实现21.4异常的规则21.5异常处理机制21.6异常的使用
21.1 异常的概念 21.2 异常的基本思想 21.3 异常的实现 21.4 异常的规则 21.5 异常处理机制 21.6 异常的使用

第21章异常处理在编写程序时,需要尝试确定程序可能出现的错误。然后,加入处理错误的代码。例如,当程序执行文件/O操作时,应测试文件打开以及读写操作是否成功,并且在出现错误时,做出正确的反应
• 在编写程序时,需要尝试确定程序可能出现 的错误。 • 然后,加入处理错误的代码。 • 例如,当程序执行文件I/O操作时,应测试文 件打开以及读写操作是否成功。 • 并且在出现错误时,做出正确的反应

第21章异常处理随着程序复杂性的增加,为了处理错误而必须在程序中加入的代码的复杂性也增加了。,为了使程序更易于测试和处理错误,C++实现了异常处理机制。本章介绍了C++异常处理,程序使用try、throw和catch语句来支持异常处理
• 随着程序复杂性的增加,为了处理错误而必 须在程序中加入的代码的复杂性也增加了。 • 为了使程序更易于测试和处理错误,C++实 现了异常处理机制。 • 本章介绍了C++异常处理。 • 程序使用try、throw和catch语句来支持异常 处理

异常的概念21.1 吴在大型软件开发中,最大的问题就是错误的、不稳定的代码而在设计与实现中,最大的开销是花在测试、查找和修改错误上程序的错误,一种是编译错误,即语法错误如果使用了错误的语法、函数、结构和类,程序就无法被生成运行代码
• 在大型软件开发中,最大的问题就是错误的、 不稳定的代码。 • 而在设计与实现中,最大的开销是花在测试、 查找和修改错误上。 • 程序的错误,一种是编译错误,即语法错误。 • 如果使用了错误的语法、函数、结构和类, 程序就无法被生成运行代码

异常的概念21.1吴,另一种是在运行时发生的错误,它分为不可预料的逻辑错误和可以预料的运行异常。逻辑错误时由于不当的设计造成的例如,某个排序算法不合适,导致在边界条件下,不能正常完成排序任务一般只有当用户做了某些出乎意料的事才会出现逻辑错误
• 另一种是在运行时发生的错误,它分为不可 预料的逻辑错误和可以预料的运行异常。 • 逻辑错误时由于不当的设计造成的。 • 例如,某个排序算法不合适,导致在边界条 件下,不能正常完成排序任务。 • 一般只有当用户做了某些出乎意料的事才会 出现逻辑错误

异常的概念21.1即使许多大型的优秀软件也不能避免逻辑错误。一发现了逻辑错误,专门写一段处理错误的代码,就可避免错误的发生例如,数组下标溢出检香虽然运行异常可以预料,但是无法避免运行异常是由系统运行环境造成的
• 即使许多大型的优秀软件也不能避免逻辑错 误。 • 一旦发现了逻辑错误,专门写一段处理错误 的代码,就可避免错误的发生。 • 例如,数组下标溢出检查。 • 虽然运行异常可以预料,但是无法避免。 • 运行异常是由系统运行环境造成的

异常的概念21.1吴,例如,内存空间不足,程序运行中提出内存分配申请得不到满足,就会发生异常。或者,硬盘上的文件被册删除了,导致程序运行中文件打不开而发生异常。或者程序中,发生除0的代码,导致系统除0中断;或者打印机没有打开,调制解调器掉线等
• 例如,内存空间不足,程序运行中提出内存 分配申请得不到满足,就会发生异常。 • 或者,硬盘上的文件被删除了,导致程序运 行中文件打不开而发生异常。 • 或者程序中,发生除0的代码,导致系统除0 中断; • 或者打印机没有打开,调制解调器掉线等

异常的概念21.1吴这些错误,会使程序变得脆弱,但是,这些运行错误时能够预料的。通常加入一些预防代码便可防止这些异常异常是一种程序定义的错误,对程序的逻辑错误进行设防,对运行异常加以控制C++中,异常是对能预料到的运行错误进行处理的一套实现机制
• 这些错误,会使程序变得脆弱。 • 但是,这些运行错误时能够预料的。 • 通常加入一些预防代码便可防止这些异常。 • 异常是一种程序定义的错误,对程序的逻辑 错误进行设防,对运行异常加以控制。 • C++中,异常是对能预料到的运行错误进行 处理的一套实现机制

21.1异常的概念例21一1:对文件打不开时的保护#includeusing namespace std;/ / .void f(char * str)ifstream source(str);//打开str串中的文件if (source.fail()如果打不开文件cerr <<"Error opening the file: " << str << endl ;exit(1) ;/退出程序17
例21—1:对文件打不开时的保护 #include using namespace std ; //. void f ( char * str) { ifstream source (str) ; //打开str串中的文件 if ( source . fail( ) ) //如果打不开文件 { cerr << "Error opening the file: " << str << endl ; exit(1) ; //退出程序 } }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《面向对象程序设计》课程教学资源(课件讲稿)第20章 模板(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第19章 IO流(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第18章 运算符重载(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第17章 多态(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第16章 继承(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第15章 静态成员函数与友元(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第14章 堆与拷贝构造函数(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第13章 面向对象程序设计(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第12章 构造函数(PPT).ppt
- 《C语言》课程资源_智慧树使用手册_学生端使用手册.ppt
- 《C语言》课程教学课件(PPT讲稿)第25次课(函数定义、调用、参数传递、返回值).ppt
- 《C语言》课程教学课件(PPT讲稿)第27次课(函数进一步讨论).ppt
- 《C语言》课程教学课件(PPT讲稿)第29次课 结构体.ppt
- 《C语言》课程教学课件(PPT讲稿)第31次课(编译预处理命令 位运算 文件).ppt
- 《C语言》课程教学资源(教程讲义)C语言程序设计新思路(1-3章).pdf
- 《C语言》课程教学课件(PPT讲稿,教程)第1章 引论.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第2章 基本的数据与运算.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第5章 循环结构程序设计.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第6章 数组.ppt
- 《C语言》课程教学课件(PPT讲稿,教程)第9章 函数.ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第10章 结构(PPT).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)第11章 类(PPT).ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第12章 多态性.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第13章 模板与异常处理.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第14章 标准库和输入输出流.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第15章 链表.ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第9章 类和对象(一).ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第10章 类和对象(二).ppt
- 《面向对象程序设计》课程教学资源(PPT课件)第11章 继承和派生.ppt
- 山东理工大学:《面向对象程序设计》课程实验指导书(C++).pdf
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第4章 AutoCAD尺寸标注.pdf
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第5章 AutoCAD绘制机械图样表达.pdf
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第6章 AutoCAD绘制机械工程图.ppt
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第1章 AutoCAD设计基础.ppt
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第2章 AutoCAD绘图平面图形.ppt
- 山东理工大学:《计算机绘图AutoCAD》课程教学资源(PPT课件)第3章 AutoCAD绘制形体视图.pdf
- 清华大学出版社:《计算机绘图AutoCAD》课程教学课件(PPT讲稿)第6章 AutoCAD绘制机械工程图.ppt
- 清华大学出版社:《计算机绘图AutoCAD》课程教学课件(PPT讲稿)第7章 实训.ppt
- 清华大学出版社:《计算机绘图AutoCAD》课程教学课件(PPT讲稿)第1章 AutoCAD设计基础.ppt
- 清华大学出版社:《计算机绘图AutoCAD》课程教学课件(PPT讲稿)第2章 AutoCAD绘图平面图形.ppt
