delphi异常捕获try except语句 和 try finally语句用法_Delphi教程_网络编程_码蚁之家_www.codes51.com
返回首页
专题
网络编程
ASP教程 .NET教程 PHP教程 JSP教程 C#教程 Java教程 Delphi教程 VB教程 C/C++教程 Android开发 IOS开发 Windows Phone开发 Python教程 Ruby教程 移动开发 其他编程教程
网页制作
HTML教程 CSS教程 Dreamweaver教程 FrontPages教程 Javascript教程 web前端
数据库
SqlServer MySql Oracle Access DB2 SQLite 其他数据库
图形设计
photoshop教程 Fireworks教程 CorelDraw教程 Illustrator教程 AutoCad教程 FLASH教程
操作系统
Windows xp教程 Windows 7教程 Windows 8教程 Windows 2003教程 Windows Server 2008教程 Linux教程 Windows 10
网站运营
建站经验 SEO优化 站长心得 网赚技巧 网站推广 站长故事
手机学院
手机速递 安卓教程 iphone教程 手机评测 手机技巧 手机知识 手机应用 手机游戏 手机导购
网店宝典
开店指导 开店经验 网店装修 网店推广 网店seo 网购技巧
软件教程
办公软件 系统工具 媒体工具 压缩工具 图文处理 文件管理
范文之家
自我介绍 自我鉴定 写作模板 合同范本 工作总结 贺词祝福语 演讲致辞 思想汇报 入党申请书 实习报告 心得体会 工作计划 简历模板 工作报告 导游词 评语寄语 口号大全 策划书范文
信息工程
软件工程 企业开发 系统运维 软件测试
移民之家
移民动态 移民政策 移民百科 移民生活 技术移民 投资移民
知识大全
母婴 数码 摄影 装修 美文 常识 时尚 婚嫁 美食 养生 旅游 兴趣 职场 教育 文学 健康
问答大全
电脑网络 手机数码 QQ专区 生活 游戏 体育运动 娱乐明星 休闲爱好 文化艺术 社会民生 教育科学 健康医疗 商业理财 情感家庭 地区问题 其他
编程问答
IOS Android .NET Java C/C++ Delphi VC/MFC 其他语言 PHP MSSQL MYSQL Oracle 其他数据库 Web开发 Windows Linux 硬件/嵌入开发 网络通信 移动开发 云计算 企业IT 游戏开发
笑话大全
幽默笑话 爱情笑话 成人笑话 校园笑话 爆笑笑话 综合笑话 古代笑话 现代笑话 国外笑话

delphi异常捕获try except语句 和 try finally语句用法(1/6)

来源:互联网  时间:2017/8/15 6:54:46

原文地址:delphi try except语句 和 try finally语句用法以及区别


  1. 一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来,记下!
    主要是前面小部分,后面的是详细说明(很啰嗦!)

    一、异常的来源
      在Delphi的应用程序中,下列的情况都比较有可能产生异常。  
      (1)文件处理  
      (2)内存分配  
      (3)Windows资源 
      (4)运行时创建对象和窗体  
      (5)硬件和操作系统冲突

      二、异常的处理
      (1)try…except…end;  
      在try体内的代码发生异常时,系统将转向except部分进行异常的处理。这是Delphi处理异常的最基本的方式之一。

      (2)try…finally…end;  
      这种异常处理结构一般用于保护Windows的资源分配等方面,它确保了无论try体内的代码是否发生异常,都需要由系统进行最后的统一处理的一些Windows对象的正确处理。  
      和try…except…end不同,该结构的finally部分总被执行。

      (3)不存在try…except…finally…end结构来既处理异常,又保护资源分配的结构,但是,try…except…end结构允许嵌套到try…finally…end结构中,从而实现既处理异常,又保护资源的分配。

      三、异常的精确处理
      (1)定义一个异常。  
      在Delphi中,每个异常都是Exception[1]类的一个派生类[2]。因此,定义一个异常就是定义一个Exception类的派生类。  
      type EMyException = class(Exception);  
      当然,基类可以是Exception或者Exception的任何一个任何层次的派生类。

      (2)在程序中抛出一个异常。  
      根据不同的情况抛出异常是使用异常的最基本的模式。在Delphi中,由raise语句来实现。  
      【语法】raise 异常类.Create(‘异常的缺省说明’);

      (3)在try…except…end中更加精确的捕捉异常。  
      使用on E:异常类 do…结构可以在do体内处理特定异常类所抛出的异常。

      四、异常的调试
      在Delphi IDE中,解除“Debugger Options”(可以使用菜单Tools—>Debugger Options…进行访问)中的Integrated Debugging复选框的勾选状态可以进行异常的调试。

      五、异常的补充说明
      (1)每一段程序都有可能产生错误!这是软件业的一个不容置疑的现象和规律。事实上,传统的if…else…结构完全可以解决所有的错误,使用Exception机制也没能够回避在最原始的层次,通过遍历可能的情况来产生异常的做法,那么,为什么还要异常机制?

      答案很清楚:异常提供了一种更加灵活和开放的方式,使得后来的编程者可以来根据实际的情况处理这种错误,而不是使用预先设定好的处理结果。

    Delphi7异常处理
    了解什么是异常和Delphi7中提供的异常类
    掌握Delphi7环境下自定义异常的方法和异常
    处理的语法结构与实现

    异常

    什么是异常
    程序开发过程中,有编译期错误和运行期错误,编译期错误很容易发现,而运行期错误(逻辑错误和异常)往往很难预料.为了程序的稳定性和可靠性,就需要对程序异常处理和保护.

    异常:理解为一种特殊的事件,该事件发生时,程序的正常执行将被打断.
    由程序导致的不正常情况是错误而不是异常,程序错误与异常不是相同的概念.
    异常是为方便用户报告错误并处理错误而创建的机制,一般是由操作系统完成的.
    运行期错误处理

    软件开发过程中,程序员必须提供适度的方式来处理不可避免的错误.一般方法如下:
    1 传统方法
    2 使用异常进行错误处理

    传统方法
    在Pascal早期版本中,程序员必须借助编译器开关和状态变量去检测和处理存在的错误.

    {$I-}{此编译器指令关闭I/O检测}
    Assign(InFile,InputName);
    Reset(InFile);
    {$I+}{此编译器指令恢复I/O检测}
    If IOResult0 then
    {错误处理代码};

    使用异常进行错误处理

    结构化异常处理是Delphi语言内建的特性.为我们处理异常提供了方便.处理异常有两方面:
    1 异常处理可确保适当地恢复在应用程序中分配或改变的任何资源.
    2 结构化异常处理为开发人员提供了一种一致的处理各种类型运行期错误的方式

    Delphi7异常处理机制

    异常处理的基本思想是通过提供规范方式处理软,硬件错误的能力,使程序更加健壮.
    异常处理可以将处理错误的代码与正常的逻辑处理代码相分离.
    Delphi缺省的方式是在应用程序收到异常之前捕获异常.IDE会给出一个”预警”对话框,以指明应用程序将要产生异常.
    异常处理机制是一种程序设计安全策略,它是建立在保护块思想上,通过try和end语句块对代码的封装确保在程序发生异常时,程序能够正常运行或释放所占用的资源.

    Delphi7异常处理机制


上一篇CnPack实用功能推荐
下一篇Delphi中的Sender:TObject对象解析
明星图片
相关文章
《 delphi异常捕获try except语句 和 try finally语句用法》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)