异常处理 C++程序设计教材.ppt

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
异常处理 C++程序设计教材.ppt

异常处理 异常处理是程序设计中除调试之外的另一错误处理方法。 异常处理与真正的错误处理其实是有一定的区别的,异常处理不但可以对系统错误做出反应,还可以对人为制造的错误做出反应并处理。 抛出异常 当程序执行到某一函数或方法内部时,程序本身出现了一些异常,但这些异常并不能由系统所捕获,这时就可以创建一个错误信息,再由系统捕获该错误信息并处理。创建错误信息并发送这一过程称之为抛出异常。 在C++中异常的抛出就是使用throw关键字来实现的,在这个关键字的后面可以跟随任何类型的值。 异常捕获 异常捕获是指当一个异常被抛出时,不一定就在异常抛出的位置来处理这个异常,而是可以在别的地方通过捕获这个异常信息后再进行处理。这样增加了程序结构的灵活性,也提高了异常处理的方便性。 如果在函数内抛出一个异常(或在函数调用时抛出一个异常),将在异常抛出时退出函数。如果不想在异常抛出时退出函数,可在函数内创建一个特殊块用于解决实际程序中的问题。这个特殊的块由try关键字组成 ? Try { } catch(type obj) { } ? 异常处理部分必须直接放在测试块之后。如果一个异常信号被抛出,异常处理器中第一个参数与异常抛出对象相匹配的函数将捕获该异常信号,然后进入相应的catch语句,执行异常处理程序。catch语句与switch语句不同,它不需要在每个case语句后加入break用以中断后面程序的执行。 异常匹配 当在程序中有异常抛出时,异常处理系统会根据异常处理器的顺序找到最近的异常处理块,并不会搜索更多的异常处理块。 异常匹配并不要求异常与异常处理器进行完美匹配,一个对象或一个派生类对象的引用将与基类处理器进行匹配。若抛出的是类对象的指针,则指针将会匹配相应的对象类型,但不会自动转换成其他对象的类型。

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档