网站大量收购闲置独家精品文档,联系QQ:2885784924

《C++语言程序设计》课件第11章.pptxVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

C++语言程序设计第十一组C++语言程序设计第十一章异常处理C++语言程序设计1

目录C++语言程序设计2“异常和异常处理C++异常处理机制用类对象传递异常基本知识异常处理中的退栈和对象析构刨根问底用户自定义类的对象传递异常自定义exception类的派生类对象传递异常编程技能

C++语言程序设计3基本知识a

11.1异常和异常处理异常(Exceptions)是程序在运行时可能出现的会导致程序运行终止的错误。异常处理(ExceptionHandling)就是要提出或者是研究一种机制,能够较好的处理程序不能正常运行的问题。程序的错误和异常是不同的概念。程序中的错误包括语法错误和逻辑错误。语法错误可以在编译时由编译程序发现。逻辑错误则会导致在运行程序后,得到的结果不正确。异常是一个可以正确运行的程序在运行中可能发生的错误。如果异常不发生,程序的运行就没有一点问题,但是,如果异常发生了,程序的运行就可能不正常,甚至会终止程序的运行。C++语言程序设计4

11.1异常和异常处理常见的异常,如:系统资源不足。如内存不足,不可以动态申请内存空间;磁盘空间不足,不能打开新的输出文件,等。用户操作错误导致运算关系不正确。如出现分母为0,数学运算溢出,数组越界,参数类型不能转换,等。异常有以下的一些特点:偶然性。程序运行中,异常并不总是会发生的。可预见性。异常的存在和出现是可以预见的。严重性。一旦异常发生,程序可能终止,或者运行的结果不可预知。C++语言程序设计5

11.1异常和异常处理对于程序中的异常,通常有三种处理的方法:不作处理。很多程序实际上就是不处理异常的。发布相应的错误信息,然后,终止程序的运行。在C语言的程序中,往往就是这样处理的。适当的处理异常,一般应该使程序可以继续运行。异常处理(ExceptionHandling)就是在程序运行时对异常进行检测和控制。C++中,异常处理(EH)就是用C++提供的try-throw-catch的模式进行异常处理的机制。C++语言程序设计6

用一般的方法处理除法溢出#includeiostreamusingnamespacestd;#includestdlib.hdoubledivide(doublea,doubleb){if(b==0) //检测分母是不是为0{cout“除数不可以等于0!”endl;abort();//调用abort函数终止运行}returna/b;}C++语言程序设计7voidmain(){doublex,y,z;cout输入两个实数x和y:;while(cinxy) { z=divide(x,y); coutx除以y等于z\n; cout输入下一组数q表示结束:; } coutBye!\n;}例:程序将连续地输入两个实数,通过调用函数,返回这两个数相除的商。并且要注意除数不能为0。

C++语言程序设计811.2C++异常处理机制C++处理异常有两个基本的做法:异常的检测和处理在不同的代码段中进行的。认为检测异常是程序编写者的责任,而异常的处理是程序使用者要关心的问题。或者说,不同的人使用相同的程序,有可能对于异常会有不同的处理方式。由于异常的检测和处理不是在同一个代码段中进行的,在检测异常和处理异常的代码段之间需要有一种传递异常信息的机制,在C++中是通过“对象”来传递异常的。这种对象可以是一种简单的数据(如整数),也可以是系统定义或用户自定义的类对象。C++术语中,异常(Exception)是作为专用名词出现的。将异常检测程序所抛掷的“带有异常信息的对象”称为“异常”。而将捕获异常的处理程序称为异常处理程序(ExceptionHandler)。

C++语言程序设计911.2C++异常处理机制C++异常处理的语法可以表述如下: try {受保护语句; throw异常; 其他语句; } catch(异常类型) {异常处理语句; }C++的语法中将以上两部分(try、catch)合在一起称为try模块(tryblock)。try后面的语句块称为受保护段。catch部分的作用是捕获异常和处理异常。程序执行的流程有两种:没有异常:try→受保护语句→其他语句;有异常:try→受保护语句→throw异常→catch→异常处理语句

用C++的异常处理机制,处理除法溢出#includeiostreamusingnamespacestd;#includestdlib.hdoubledivide(doublea,doubleb){

文档评论(0)

酱酱 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档