欢迎来到天天文库
浏览记录
ID:8465205
大小:91.50 KB
页数:22页
时间:2018-03-28
《c与c++中的异常处理》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、市场营销生产管理品质管理目标管理行业报告商务谈判策划方案可研报告可行分析环评报告毕业论文团队建设百度下载年度计划组织设计商务礼仪工作总结招商方案执行力商业计划营销战略营销培训定价策略客户管理营销技巧营销手册整合营销销售考核终端营销安全培训生产计划生产培训技术规范工艺标准生产管理管理手册质量认证质量成本品质培训质量手册资料下载绩效考核薪酬管理岗位职责沟通激励企业培训员工管理招聘面试人事制度战略规划网站策划信息方案技术方案智能化流程管理客户管理市场分析市场调研投资招商施工工节项目研究项目管理商业规划百度下载工程设计工艺标准质量标准土地评估投资分析开发战略市场调研前期定位产品建议项目建议研
2、究报告实施方案营销方案采购管理项目管理成本管理运作管理危机管理发展战略品牌管理企业诊断企业咨询设备管理渠道管理C与C++中的异常处理(1) 1. 异常和标准C对它的支持(前言略)1.1 异常分类 基于Dr.GUI的建议,我把我的第一个专栏投入到“程序异常”的系列上。我认识到,“exception”这个术语有些不明确并和上下文相关,尤其是C++标准异常(C++standardexceptions)和Microsoft的结构化异常(structuredexceptionhandling)。不幸的的是,“异常”一词太常见了,随时出现在语言的标准和常见的编程文献中。因为
3、不想创造一个新名词,所以我将尽力在此系列的各部分中明确我对“异常”的用法。l Part1概述通常意义上的异常的性质,和标准C库提供的处理它们的方法。l Part2纵览Microsoft对这些标准C库方法的扩展:专门的宏和结构化异常处理。l Part3及其余将致力于标准C++异常处理体系。(C语言使用者可能在Part2后放弃,但我鼓励你坚持到底;我所提出的许多点子同样适用于C,虽然不是很直接。) 本质上看,程序异常是指出现了一些很少发生的或出乎意料的状态,通常显示了一个程序错误或要求一个必须提供的回应。不能满足这个回应经常造成程序功能削弱或
4、死亡,有时导致整个系统和它一起down掉。不幸的是,试图使用传统的防护方法来编制健壮的代码经常只是将一个问题(意外崩溃)换成了另外一个问题(更混乱的设计和代码)。 太多的程序员认为这个交换抵不上程序意外崩溃时造成的烦恼,于是选择了生活在危险之中。认识到这一点后,C++标准增加了一个优雅并且基本上不可见的“异常体系”到语言中;就这样,这个方法产生了。如同我们在Part4的开始部分将要看到的,这个方法大部分情况下很成功,但在很微妙的情况下可能失败。1.2 异常的生命阶段 在这个系列里,我将展示C和C++处理异常体系运行于异常整个生命期的每一阶段时的不同之处:l
5、 阶段1:一个软件错误发生。这个错误也许产生于一个被底层驱动或内核映射为软件错误的硬件响应事件(如被0除)。l 阶段2:错误的原因和性质被一个异常对象携带。这个对象的类型可以简单的整数值到繁杂的C++类对象。l 阶段3:你的程序必须检测这个异常对象:或者轮询它的存在,或者由其主动上报。l 阶段4:检测代码必须决定如何处理异常。典型的方法分成三类。 a忽略异常对象,并期望别人处理它。 b在这个对象上干些什么,并还允许别人再继续处理它。 c获得异常的全部所有权。l 阶段5:既然异常已经处理了,程序通常恢复并继续执行
6、。恢复分成两种: a恢复异常,从异常发生处继续执行。 b终止异常,从异常被处理处继续执行。 当在程序外面(由运行期库或操作系统)终止异常时,恢复经常是不可能的,程序将异常结束。 我故意忽略了硬件错误事件,因为它们完全是底层平台范围内的事。取而代之,我假定一些软件上的可检测错误已经发生,并产生了一个处于第一阶段的软件异常对象。 市场营销生产管理品质管理目标管理行业报告商务谈判策划方案可研报告可行分析环评报告毕业论文团队建设百度下载年度计划组织设计商务礼仪工作总结招商方案执行力商业计划营销战略营销培训定价策略客户管理营销技巧营销手册整合营销销售考核终端营销安全培训生
7、产计划生产培训技术规范工艺标准生产管理管理手册质量认证质量成本品质培训质量手册资料下载绩效考核薪酬管理岗位职责沟通激励企业培训员工管理招聘面试人事制度战略规划网站策划信息方案技术方案智能化流程管理客户管理市场分析市场调研投资招商施工工节项目研究项目管理商业规划百度下载工程设计工艺标准质量标准土地评估投资分析开发战略市场调研前期定位产品建议项目建议研究报告实施方案营销方案采购管理项目管理成本管理运作管理危机管理发展战略品牌管理企业诊断企业咨询设备管理渠道管理
此文档下载收益归作者所有