- 1、本文档共95页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自学 本章后续内容。 程序的可靠性 * allege英音:[?led?] ? 及物动词 vt. (无充分证据而)断言,宣称[O2][+(that)] (作为理由、借口或论据等)提出[(+as)][+(that)] 断言,宣称;指控宣称,申述,主张,断言 并行”是指无论从微观还是宏观,二者都是一起执行的,就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。 而“并发”在微观上不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行,从宏观外来看,好像是这些进程都在执行,这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的坑,要想挖两个大一点得坑,一定会用两个小时。 从以上本质不难看出,“并发”执行,在多个进程存在资源冲突时,并没有从根本提高执行效率。 * C++引用参数 void swap(int x, int y) { x:=x+y; y:=x-y; x:=x-y; } swap(a,a); 若i=j swap(b[i],b[j]); 若p、q指向同一数据对象 swap(*p,*q); 问题 ③变参和全局变量表示同一数据对象时,也会引起别名。 procedure swap(var x:integer); begin x:=x+a; /*a是全局变量*/ a:=x-a; x:=x-a end; 调用swap(a); 将产生不正确的结果 ④别名也影响编译器生成优化的代 a:=(x-y*z)+w ; b:=(x-y*z)+u ; 若a与x、y或z中任一个是别名 ⑤别名的消除 废除可能引起别名的结构 限制使用指针、变参、全局变量等 异常:导致程序正常执行中止的事件 要靠发信号来引发 用异常条件来表示。 二. 隐式调用单元?异常处理 早期语言中除 PL/1外,通常没有专门的异常条件及异常处理程序。 后期开发的语言提供了异常处理机制,使涉及异常事件的处理独立出来. 不包括在程序的主流程中,以保证程序的逻辑按基本算法进行。 (1)异常如何说明,它的作用域是什么? (2)异常如何发生?(如何捕获异常) (3)发生异常时,流程如何转移? 有关异常处理的主要问题 (4)发生异常时,如何绑定相应的异常处理程序? (5)处理异常之后,控制流程转向何处? 在这些问题中,问题(5)的解决对语言处理异常机制的能力和可使用性有很大的影响。 方法1 语言设计中可能的基本选择是,相应的异常处理程序执行完之后,允许控制返回发生异常事件的执行点。 在这种情况下,异常处理程序可对执行的程序进行“修补”,终止相应的异常事件,以便程序继续正常地执行。 解决了程序继续执行的问题, 但并未真正消除发生异常的因素。 方法2 相应的异常处理程序执行完之后,终止引起异常的程序单元的执行,由异常处理程序进行控制的转移。 从概念上说,这意味着引起异常的单元不能恢复执行;从实现的观点来看,这意味着删除异常单元的活动记录。 1. PL/1异常处理 2. CLU的异常处理 3. Ada的异常处理 自学,了解。 4. C语言的出错处理 实现出错处理的方法是将用户函数与出错处理程序紧密地结合起来, 但将造成出错处理使用的不方便和难以接受。 用C标准库的assert宏进行出错处理 使用allege函数在运行时检查错误。 allege函数对一些小型程序很方便,对于复杂的大型程序,所编写的出错处理程序也将更加复杂。 5.C++语言的异常处理 异常处理是C++的一个主要特征, 它提出了出错处理更加完美的方法。 设置陷阱 抛出异常 捕获异常 try throw catch C++的异常处理语句的格式如下: try { … } catch (异常类型1) { 异常1处理程序 } catch (异常类型2) {异常2处理程序} …… catch (异常类型n) {异常n处理程序} 1. 两个或两个以上程序单元之间交错地执行,这样的程序称为协同程序。 三. SIMULA 67 协同程序 设有单元 C1 和 C2 ,由 C1 先开始执行,当执行到 C1的“ resume C2
您可能关注的文档
- 项目管理 第二篇 项目组织 1.ppt
- 项目管理计分作业2答案.doc
- 项目管理习题与答案.doc
- 项目五测量误差规律与数据精度指标.doc
- 辛欣--3参数估计.ppt
- 选修1-1《2.1.1 椭圆与其标准方程》教学案例.doc
- 选修一基础知识巩固训练(.5.10).doc
- 雅马哈钢琴全系列与价格信息.doc
- 雅思A类写作Task2常见盲点与应对措施.doc
- 雅思阅读材料之大象白内障手术后难以置信用鼻子揉眼睛.docx
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
最近下载
- 第45届世界技能大赛平面设计技术项目.pdf
- 初中英语学困生的形成原因及对策研究结题报告.doc
- 暑假10以内加减法口算题天天练-每页100题(打印版).docx
- 高血压的中医调理方法.pptx
- 高考作文模拟写作:大树 藤蔓 依靠(附写作指导及范文点评与延伸训练).docx VIP
- 朋友圈要不要屏蔽父母辩论赛 反方辩词一辩、二辩、三辩、四辩发言稿.docx
- 湖南省三湘名校教育联盟2023-2024学年高二上学期11月期中联考物理试题(原卷).docx VIP
- 三《采用合理的论证方法》课件 2021-2022学年高中语文统编版选择性必修上册第四单元.pptx
- 跨学科主题学习——解密汉诺塔游戏 教学课件 电子工业版 五年级下册.ppt
- Project1 An animal book 获奖课件PPT译林版(一)英语二上.pptx
文档评论(0)