北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第十三章 异常处理

C++大学基础教程 第13章异常处理 北京邮电大学电信工程学院 计算机技术中心 2021/224
2021/2/24 1 C++大学基础教程 第13章 异常处理 北京邮电大学电信工程学院 计算机技术中心

◇程序设计的要求之一就是程序的健 壮性。希望程序在运行时能够不出 或者少出问题。但是,在程序的实 程序不能正常运行。异常处 际运行时,总会有一些因素会 ( Exception handling)就是要提 出或者是研究一种机制,能够较好 的处理程序不能正常沄行的问题
程序设计的要求之一就是程序的健 壮性。希望程序在运行时能够不出 或者少出问题。但是,在程序的实 际运行时,总会有一些因素会导致 程序不能正常运行。异常处理 (Exception Handling)就是要提 出或者是研究一种机制,能够较好 的处理程序不能正常运行的问题

第十三章异常处理 131异常和异常处理 132C++异常处理机制 133用类的对象传递异常 134异常处理中的退栈和对象析构
第十三章 异常处理 13.1 异常和异常处理 13.2 C++异常处理机制 13.3 用类的对象传递异常 13.4 异常处理中的退栈和对象析构

13.1异常和异常处理
13.1 异常和异常处理

131.1异常及其特点 ◆异常( Exceptions)是程序在运行时可能出 现的会导致程序运行终止的错误。 ◆编译系统检查出来的语法错误,导致程序运行 结果不正确的逻辑错误,都不属于异常的范围。 ◆异常是一个可以正确运行的程序在运行中可能 发生的错误。 2021/2/24 北京邮电大学电信工程学院计算机技术中
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -5- 13.1.1 异常及其特点 异常(Exceptions)是程序在运行时可能出 现的会导致程序运行终止的错误。 编译系统检查出来的语法错误,导致程序运行 结果不正确的逻辑错误,都不属于异常的范围。 异常是一个可以正确运行的程序在运行中可能 发生的错误

131.1异常及其特点 ◆常见的异常,如: 系统资源不足。如内存不足,不可以动态申 请内存空间;磁盘空间不足,不能打开新的 输出文件,等。 ■用户操作错误导致运算关系不正确。如出现 分母为0,数学运算滋出,数组越界,参数 类型不能转换,等。 2021/2/24 北京邮电大学电信工程学院计算机技术中
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -6- 13.1.1 异常及其特点 常见的异常,如: ◼ 系统资源不足。如内存不足,不可以动态申 请内存空间;磁盘空间不足,不能打开新的 输出文件,等。 ◼ 用户操作错误导致运算关系不正确。如出现 分母为0,数学运算溢出,数组越界,参数 类型不能转换,等

131.1异常及其特点 ◆异常有以下的一些特点: 偶然性。程序运行中,异常并不总是会发生 的。 ■可预见性。异常的存在和出现是可以预见的。 严重性。一旦异常发生,程序可能终止,或 者运行的结果不可预知。 2021/2/24 北京邮电大学电信工程学院计算机技术中
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -7- 13.1.1 异常及其特点 异常有以下的一些特点: ◼ 偶然性。程序运行中,异常并不总是会发生 的。 ◼ 可预见性。异常的存在和出现是可以预见的。 ◼ 严重性。一旦异常发生,程序可能终止,或 者运行的结果不可预知

1312异常处理方法及举例 ◆对于程序中的异常,通常有三种处理的 方法 不作处理。很多程序实际上就是不处理异常 的。 ■发布相应的错误信息,然后,终止程序的运 行。在C语言的程序中,往往就是这样处理 的。 适当的处理异常,一般应该使程序可以继续 运行。 2021/2/24 北京邮电大学电信工程学院计算机技术中
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -8- 13.1.2 异常处理方法及举例 对于程序中的异常,通常有三种处理的 方法: ◼ 不作处理。很多程序实际上就是不处理异常 的。 ◼ 发布相应的错误信息,然后,终止程序的运 行。在C语言的程序中,往往就是这样处理 的。 ◼ 适当的处理异常,一般应该使程序可以继续 运行

1312异常处理方法及举例 一般来说,异常处理( Exception Handling) 就是在程序运行时对异常进行检测和控制。 ◆而在C++中,异常处理(EH)就是用C++提 供的try- throw- catch的模式进行异常处理 的机制。 2021/2/24 北京邮电大学电信工程学院计算机技术中
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -9- 13.1.2 异常处理方法及举例 一般来说,异常处理(Exception Handling) 就是在程序运行时对异常进行检测和控制。 而在C++中,异常处理(EH)就是用C++提 供的try-throw-catch的模式进行异常处理 的机制

◆例13.1程序将连续地输入两个实数,通过调用函数,返回这 两个数相除的商。并且要注意除数不能为0 ∥6131用一般的方法处理除法溢出 include include double divide(double a, double b) if(b==0) ∥测分母是不是为0 cout<<"除数不可以等于0P<<endl; aborto; ∥调用 abort函数终止运行 return al/b 2021/2/24 北京邮电大学电信工程学院计算机技术中
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -10- 例13.1 程序将连续地输入两个实数,通过调用函数,返回这 两个数相除的商。并且要注意除数不能为0。 //例13.1 用一般的方法处理除法溢出 #include #include double divide(double a, double b) { if (b == 0) //检测分母是不是为0 { cout << "除数不可以等于0 !"<<endl; abort(); //调用abort函数终止运行 } return a/b; }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第十二章 I/O流及输入输出.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第三章 过程化语句.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第七章 其它自定义数据类型.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第六章 指针和引用.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第九章 继承与派生.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第二章 基本数据类型与表达式.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第八章 类与对象.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第一章 C++初步.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第五章 数组.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第四章 函数.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第十章 运算符重载.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》第十一章 多态性.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》课程说明.ppt
- 湖南软件职业技术学院:《C语言程序设计》课程总结(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》C语言的字符集、标识符与关键字(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第四章 选择结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》选择结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第四章 选择结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第三章 C语言基本语句和顺序结构程序设计(危孟君).ppt
- 湖南软件职业技术学院:《C语言程序设计》第二章 C语言的数据类型与运算(2.1-2.4)数据类型(危孟君).ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》类示例程序.ppt
- 北京邮电大学电信工程学院计算机技术中心:《C++大学基础教程》冒泡和选择排序.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第12章 MCS-51的功率接口设计.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第13章 MCS-51的串行通讯技术及其它扩展接口.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第14章 MCS-51应用系统的可靠性及抗干扰设计.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第15章 MCS-51单片机应用系统的设计、开发与调试.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第01章 单片机概述.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第02章 MCS-51单片机的硬件结构.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第03章 MCS-51的指令系统.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第04章 MCS-51汇编语言程序设计.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第05章 MCS-51的中断系统.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第06章 MCS-51的定时器/计数器.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第07章 MCS-51的串行口.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第08章 MCS-51单片机扩展存储器的设计.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第10章 MCS-51与键盘、显示器、拨盘、打印机的接口设计.ppt
- 《单片机原理及应用》课程教学资源(PPT教学课件)第11章 MCS-51与D/A转换器、A/D转换器的接口.ppt
- 《3ds max学习课件》3ds max 简介.ppt
- 《3ds max学习课件》标准灯光.ppt
- 《3ds max学习课件》光度学灯光.ppt
- 《3ds max学习课件》材质.ppt