- 1、本文档共188页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch2objectpascal语法规范
“异常类型”说明: 为更好地处理异常,常在异常处理语句的“异常类型”前指定一个标识符,这个标识符在on...do后的语句执行期间表示异常对象,不过异常对象仅限于其后的一个语句。例如: try … 枣庄学院精品课程 “异常类型”说明: except on E:异常类名 do ShowMessage(E.Message); end; 这里,标识符E就是捕捉到的当前程序产生的异常对象名,它只能在这个on…do语句中使用。同时,在上面例子中使用了异常对象的Message属性,这个属性保存的是异常说明信息。 枣庄学院精品课程 异常类名 产生异常原因 Eabort 不显示异常信息对话框的异常 EheapException 定位堆栈内存产生的异常 EoutOfMemory 不能分配内存生成的异常 EinOutError 文件输入/输出错误产生的异常 Eexternal 外部错误造成的异常 EexternalException 运行期库中有无效的异常代码 EintError 所有整数运算产生异常的祖先类 EdivByZero 被0初,是EintError的派生类 ErangeError 范围错,是EintError的派生类 EIntoverflow 整数运算结果超出保存范围引起的异常,是EintError的派生类 EmathError 所有浮点运算错误的祖先类 EinvalidOp 处理器遇到没定义的指令,是EmathError的派生类 EOverflow 浮点运算结果太大,超出浮点数表示的范围,是EmathError的派生类 EUnderflow 数值太小而无法用浮点数表示引起的错误,是EmathError的派生类 EzeroDivide 被0整除,是EmathError的派生类 EInvalidArgument 参数出界,是EmathError的派生类 枣庄学院精品课程 现举一个使用try…except语句处理异常的例子,此例为Dos控制台程序,建立方法为: File→ New→ Other → New → Console Application → OK: 程序清单如下: program Project1; {$APPTYPE CONSOLE} uses SysUtils; var R1,R2:Double; 枣庄学院精品课程 begin while True do Begin try //设置陷井 write(输入一个实数:); readln(R1); write(输入另一个实数:); ReadLn(R2); writeln(现在用第二个数除第一个数); 枣庄学院精品课程 except // 捕捉错误 on EzeroDivide do // 处理被0除错误 writeln(不能被0除!); on EinOutError do //处理输入/出错误 writeln(不是有效数); end; end; end. 枣庄学院精品课程 2. try…finally语句 使用格式; try 语句序列1; finally 语句序列2; end; 功能:无论“语句序列1”是否出现异常,程序都将执行“语句序列2”。 枣庄学院精品课程 下面是使用这个语句程序清单: program try_finally; {$APPTYPE CONSOLE} uses SysUtils,dialogs; var F:TextFile; S: string; Begin AssignFile(F,c:\Foo.txt); Try //设置外层陷井, Reset(F); 枣庄学院精品课程 Try //置内层陷井 ReadLn(F,S); //读一行信息到S变量中 Finally CloseFile(F); //关闭文件 End; Except //处理外层陷井捕获的异常 on EInoutError do ShowMessage(访问文件错误!); End; ShowMessage(S); end. End. 枣庄学院精品课程 3. 方法覆盖(Overriding methods) 面向对象编程的多态概念是通过方法覆盖实现的。在派生类中定义方法时要使用override关键字代替父类定义方法时使用的virtual或dynamic关键字。 例如,下面派生类TForm1Child中定义的方法可覆盖上面例子中在类TForml中定义的Virt
您可能关注的文档
- ch22关系代数和关系约束.ppt
- ch43脉冲响应不变法和双线性变换法.ppt
- ch6-2狭义相对论基本原理和时空观.ppt
- ch61-2真空中的静电场.ppt
- ch6交流动态电路的分析20131029.ppt
- ch91-2真空中的静电场-1.ppt
- chap2纳米科技从幻想到现实.ppt
- chap2数据结构,顺序表,树,图,链表,排序.ppt
- cha21地壳的物质组成和物质循环class.ppt
- chap3-35非惯性系中的动力学-ok.ppt
- 2024年浙江金华市教育局部分直属学校招考聘用教师12人笔试上岸历年高频考点(难、易错点)附带答案详解.docx
- 2024年广东韶关市直教育系统赴外地院校招考聘用专任教师16人笔试上岸历年高频考点(难、易错点)附带答案详解.docx
- 2024年辽宁大连民族大学招考聘用教师笔试上岸历年高频考点(难、易错点)附带答案详解.docx
- 设计色彩说课课件(共24张课件).pptx
- 重庆高考改革实施方案(全文).文档.doc
- 译林牛津版7B-Unit2-复习课件-(共31张课件).pptx
- 质量管理学第七章--质量控制.ppt
- 转炉精炼及连铸工艺设计答辩讲稿课件.ppt
- 软件体系结构的研究及应用现状与未来发展方向(最新整理).pdf
- 连铸工艺基础知识--课件.ppt
最近下载
- 固体物理:第十一章 自旋玻璃.ppt
- 警察礼仪(PPT页)(最新整理版).pptx VIP
- Chapter1-林子雨-大数据技术原理与应用-大数据概述(年2月17日版本)44.ppt
- 【建筑专业】03J609 防火门窗.pdf
- 第6课《老山界》核心素养教学设计-统编版语文七年级下册.docx VIP
- 商场地产潮玩解压计划夏日集市方案.pptx VIP
- 新版高速公路基础知识必考重点题库.doc VIP
- 普通高等学校毕业生就业协议书(三方协议).pdf VIP
- JJG 1118-2015电子汽车衡(衡器载荷测量仪法).docx VIP
- 2023年深圳百合外国语学校小升初面试英语模拟题及答案.docx
文档评论(0)