- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第17章 异常处理与错误 本章也不是本书所讨论的重点,所以本章的目标是对C++中的异常有一定的了解便可以,然后要注意几种错误。异常处理是对程序中可能出现的错误给出相应的解决办法,使程序不至于崩溃。在编写程序的过中难免会出现错误,如程序只接受特定类型的输入,而其它输入却可能创成程序错误,这时就要在程序中加上相应的解决办法,也就是异常处理,处理程序在遇到错误的输入时应该如何处理。这就好比人们在做事的过程中对事情可能发生的不良后果做好心里准备一样,不至于程序遇到错误就造成程序的崩溃。 通过本章的学习,要了解如下的内容: 了解为何需要异常处理。 熟练掌握throw 表达式。 熟练掌握try catch表达式。 了解如何进行程序的调试。 17.1 为何需要异常处理 在编写程序的过程中,程序会出现各种各样的错误,当一个程序出错时,一般是不能处理的,但是这时如果有异常处理的话,那么程序既然遇到错误,也会对错误进行处理,不至于遇到某些错误而使程序崩溃。当然处理程序的错误是相当困难的,有些错误可能一时不能发现,那么就要在发现错误后更正它,如果有些地方存在反常行为,则应给出相应的处理。 17.2 throw表达式 前面已经了解到程序可能存在这样那样的错误,当遇到错误时就要给出相应的解决办法,使程序不至于产生错误而崩溃,这样便可以使用throw表达式。使用throw表达式可以用来说明程序遇到了什么样的错误,系统通过throw表达式抛出异常。throw表达式的格式如下: throw 表达式; 17.3 try块与catch的使用 前面已经了解到可以使用throw表达式来抛出程序中存在的错误,可是抛出错误后程序该怎么处理这个错误呢?这时就要使用try块与catch子句。 17.4 常见错误 在使用C++编写程序时,难免会出现这样那样的错误,而且对于编程新手来说,出现错误的几率更大,而且许多新手在刚学习编程时遇到的错误在许多方面也是相同的,本节的内容就是对这些常见的错误进行会总,让大家在开始编程的时候便注意这些问题,养成良好的编程习惯。 17.5 程序调试 在编写一个程序出现错误后就要对这个程序进行检查,检查程序存在什么样的错误,当然有些错误是不能一眼从程序当中看出来的,这时就要通过调试,也说法是对程序的具体执行过程进行了解。通过调试可以发现程序在执行过程中某些变量是如何变量的,比较变量的变化是否与预期的一样,如果不一样则可能发生错误的地方便是这个地方,那怎样才调试程序呢?这便是本节要学习的内容。 17.5.1 设置断点 设置断点的方法有两种,一种是直接设置断点,另一种是通过菜单项。而直接设置断点因为使用方便,所以是经常使用的一种方法,下面就对这两种方法进行讲解。 1.通过菜单项设置断点 2.直接插入断点 17.5.2 添加查看 前面已经在程序的源代码中设置了断点,这时调试程序时,程序便会在这个地方下来,这时便可以在断点所在的地方查看变量的值是怎么样的。如果要知道程序中的各变量是如何变化的,应该怎么办呢?请看下面的示例。 17.6 小结 本章不是本书的重点,所以对本章的知识只要了解就可以。首先,介绍为什么为有异常,以及处理异常的三个步骤。最后介绍了在程序中出现了错误,如何去实现调试。 17.8 面试题 面试题1:main 主函数执行完毕后,是否可能会再执行一段代码,给出说明? 面试题2:下面哪种定义方法更好?为什么? 面试题3:什么函数不能声明为虚函数? 面试题4:#i ncludefile.h 与 #i nclude file.h的区别?
您可能关注的文档
最近下载
- 2011届高考化学一轮复习专题模拟检测:专题5_氮族元素及其化合物.doc VIP
- Unit6大单元教学整体单元分析课件人教版九年级英语全册.ppt
- 教育信息化背景下跨学科教学资源的数字化建设.docx
- 城镇直埋供热管道电预热安装施工工法(技术方案).pdf VIP
- 2014造口治疗师培训个案发展计划及产品册造口学校.pdf VIP
- 标准化乡镇卫生院制度.doc
- 2026年湖南科技职业学院单招职业技能考试必刷测试卷完美版.docx VIP
- 2024年9月8日贵州省黔西南州州直遴选(事业单位考聘)笔试真题及答案解析.doc VIP
- 2025年兵棋章节答案.docx VIP
- 酒店工程部计件量化方案(3篇).docx VIP
文档评论(0)