通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 程序设计 >> Delphi语言 >> 基础教程 >> 文章正文
基于Delphi的异常处理技术探究
责任编辑:ncic   更新日期:2007-4-3

  引言

  在程序运行过程中,往往出现一些意外错误状态而导致程序无法运行下去的情况。因此 在实现程序功能的同时,必须考虑如何处理程序运行过程中可能出现的各种异常情况。所谓异常是指打断程序正常流程的、非常见或意外的状态、打开文件时按路径找不到文件、不能分配所需的内存等。现本人结合实际就Delphi中异常的产生、来源以及实现异常处理的方法进行探讨。

  异常的来源

  异常可由一些不同的资源产生,用户的程序可以因为不正常状态产生异常,Delphi的组件可以因为不同的事件产生异常,把越界值赋给属性或尝试为不存在的数组元素建立索引, 运行的库过程和函数也能产生异常,执行带有非法操作的数学表达式,如被0除肯定是异常。 其他产生异常操作的例子包括:引用nil指针执行非法类型转换的表达式等。总的来说,软件在运行过程中遇到的情况千差万别,因此产生异常的情况也各有不同。

  传统的异常处理方法

  对于程序运行过程中产生的异常情况,传统处理的方法主要是通过IF语句,布尔型标志和特别函数返回值来控制。如在加载文件时,采用条件语句,以处理可能产生的打开空文件的错误。

  If Opendialog.Filename=nil then //判断是否选择文件
Begin
 ShowMessage(“ 选择文件无效,请重新选择一个文件”) ;
End;

  以上例子是通过IF语句判断到异常事件后,提示重新操作。这种异常处理方法当然很容易理解,但在软件编写的过程中,如果每个地方都使用IF语句来检查错误并处理异常,会使编程工作变得较为繁杂。在Delphi中,这个问题可以用更简便的方法来实现异常处理。

  Delphi 中的异常处理方法

  Delphi支持多种异常处理机制,Object Pascal提供了高级的异常处理机制。在这里就两种异常处理方法进行探讨:

  1、创建被保护语句块

  所谓被保护语句块,简单说是一条或多条语句,带有对这些语句产生异常的处理器,运用try和except关键字来创建被保护语句块的结构。具体结构如下:

  Try  //可能引起异常的代码段
···
except  //对异常进行处理的代码段
···
end;

  其中try和except为关键字,try用于标志可能产生异常的代码段。如果这段程序在运行时产生了异常,系统会中止try代码段的执行,并根据except所设的代码段进行。

  下面就如何利用这个结构来创建被保护语句块研究一个程序的例子,具体的调用事件处理过程主要代码如下:

  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程