基于Delphi的异常处理技术探究

基于Delphi的异常处理技术探究,第1张

基于Delphi的异常处理技术探究,第2张

介绍

在程序运行过程中,经常会出现一些意想不到的错误状态,导致程序失败。因此,在实现程序功能的同时,必须考虑如何处理程序运行过程中可能出现的各种异常情况。所谓异常是指中断程序正常进程,打开文件时路径找不到文件,无法分配所需内存的异常或意外状态。现在,我将讨论Delphi中异常的发生、来源和处理方法。

异常的来源

异常可以由一些不同的资源生成。由于异常情况,用户程序可能会生成异常。Delphi组件可以由于不同的事件产生异常,给属性分配越界值或者试图索引不存在的数组元素。运行库过程和函数也会产生异常。执行带有非法运算的数学表达式,比如除以0,肯定是个例外。其他异常操作的例子包括:引用nil指针执行非法类型转换的表达式等。一般来说,软件在运行过程中遇到的情况差别很大,所以出现异常的情况也不一样。

传统的异常处理方法基于

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

open dialog . filename = nil then//确定是否选择文件
Begin
ShowMessage("选择的文件无效,请选择另一个文件");
End;

在上面的例子中,IF语句用于判断异常事件,然后提示重新操作。这种异常处理方法当然很好理解,但是在软件编写过程中,如果处处使用IF语句进行错误检查和异常处理,编程工作会变得更加复杂。在Delphi中,这个问题可以用一个更简单的方法来处理。

Delphi中的异常处理方法

Delphi支持多种异常处理机制,Object Pascal提供高级异常处理机制。这里讨论两种异常处理方法:

1.创建受保护的语句块

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

尝试//可能导致异常的代码段
...
except//处理异常的代码段
...
end;

其中try和except是关键字,try用于标记可能产生异常的代码段。如果这个程序在运行时产生异常,系统将停止try代码段的执行,并根据except设置的代码段继续执行。

以下是如何使用此结构创建受保护语句块的示例。具体调用事件处理过程的主要代码如下:

var
I,J,K:整数;
Begin
I:= 0;j:= 10;
Try
K:= J DIV I;//生成异常
except
的语句显示消息(' divede error!'+' I = '+IntToStr(I)+' J '+IntToStr(J)+' K = '+IntToStr(K));
End;

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 基于Delphi的异常处理技术探究

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情