电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C++程序设计第十五章异常

C++程序设计第十五章异常_第1页
1/23
C++程序设计第十五章异常_第2页
2/23
C++程序设计第十五章异常_第3页
3/23
C ++程序设计 第15 章 异常 程序中经常要检查处理各种错误情形,如果用传统的流程控制语句来处理,很容易使程序逻辑混乱。异常(exception)就是一种专门用于检测错误并处理的一种机制,使程序保持逻辑清晰,并改进程序的可靠性。C++语言提供了基本的异常处理机制。本章主要介绍异常的概念、语句、异常类型架构及应用。 可靠的编程应尽可能地、及时地检测到各种异常情形,尽可能在本地处理。尽管有时自己不能处理,也应该向调用方提供详细的出错信息,使调用方能得到充分信息,从而采取合适方式来处理异常。 15.1 异常的概念 异常是什么概念?异常就是在程序运行中发生的难以预料的、不正常的事件而导致偏离正常流程的现象。例如:  访问数组元素的下标越界,在越界时又写入了数据;  用new 动态申请内存而返回空指针(可能是因内存不足);  算术运算上溢出或下溢出;  整数除法中除数为 0;  调用函数时提供了无效实参,如指针实参为空指针(如用空指针来调用strlen 函数);  通过挂空指针或挂空引用来访问对象;  输入整数或浮点数失败;  I/O 错误,等等。 上面列出的情形之一如果发生,就可能导致运行错误而终止程序。 发生异常将导致正常流程不能进行,就需要对异常进行处理。那么异常处理是什么概念?异常处理(exception handling)就是在运行时刻对异常进行检测、捕获、提示、传递等过程。如果采用传统的if-else 语句来检测处理所有可能发生的异常,很容易导致程序流程混乱,分不清正常流程与异常处理,而且在处理一个异常时往往又引入了新的异常。 假设要设计一个函数,从一个文本文件中读取数据得到一个 float 矩阵。该文件应存放一个 m*n 的float 矩阵,头两个整数说明其行数 m 和列数 n。你要把它读入并创建一个矩阵对象,以备下一步计算。如果你认为文本文件不会有错,完全按正常编程,不超过 10 条语句就能完成。如果这个文本文件是别人提供的,而且你的函数将提供给其它人使用,那么你在每一步都要考虑可能出现的错误,此时就可能需要30 条语句来处理。例如,可能的出错情形如下:  打开文件出错,文件名可能有误;  读取行数 m 或者列数 n 可能出错;  读取每个元素时都可能出错;  矩阵数据可能不完整,也会出错。 如果你用传统方式来判断处理以上这些问题,就会发现正常的流程被淹没在多种异常判断处理之中。此时就需要有一种统一的机制能将正常流...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C++程序设计第十五章异常

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部