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

引言

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

异常的来源

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

传统的异常处理方法

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

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

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

Delphi 中的异常处理方法

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

时间: 2025-01-20 18:41:55

基于Delphi的异常处理技术探究的相关文章

052_《Delphi网络应用开发技术与实例》

<Delphi网络应用开发技术与实例> Delphi 教程 系列书籍 (052) <Delphi网络应用开发技术与实例> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Pdf 作者: 黄超 罗宏宇等 丛书名: 程序开发人员进阶与提高黑皮书 出版社:清华大学出版社 ISBN:7900641386 上架时间:2002-3-29 出版日期:2002 年3月 页码:576 版次:1-1 内容简介 2001年4月,Borland已经正式发布了Delphi 6.0,

基于Linux集群技术的校园网络中心方案

随着网络技术的发展和网络应用的进一步深入,校园网络承担了越来越多的来自教学.科研及管理方面的应用.校园网络中心作为校内局域网络的数据存储发布.流量的管理控制.用户的管理以及内外网络转接控制中心,必须解决因流量增加所带来的一系列问题.传统的网络中心方案中,当流量增加后,一般是升级单一的服务器系统,这往往会造成过高的投入和维护成本,极大地降低了性能价格比.运用基于Linux集群技术设计的校园网络中心方案可以有效地解决这一问题. 校园网络中心体系结构 基于Linux集群技术的校园网络中心的体系结构是以

php基于jquery的ajax技术传递json数据简单实例_php技巧

本文实例讲述了php基于jquery的ajax技术传递json数据简单实现方法.分享给大家供大家参考,具体如下: html页面: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <script type="text/javascript" src="jquery-1.8.2.mi

基于Mule的ESB技术讨论

问题描述 本人一直在研究基于Mule的ESB技术,刚刚换到一家新公司,想继续深入的学习这部分技术,可是发现新公司做这部分的人太少了,技术交流上比较少,想在论坛上认识研究这部分技术的大牛,咱们一起讨论,一起进步,本人QQ(496896408).上一家公司我在医疗行业做得是ESB,现在的新公司是做银行业务的,有做这部分的同行的话,我们可以一起学习,一起进步,我做这部分两年时间,自认为还是菜鸟,还得继续努力!ESB的发展前景不知道怎么样?好多大公司都在使用,今后我想去二线城市(比如:西安)发展,过几年

基于Oracle的面向对象技术入门基础简析开发者网络Oracle_oracle

正在看的ORACLE教程是:基于Oracle的面向对象技术入门基础简析开发者网络Oracle.一.概述 对象是Oracle8i以上版本中的一个新的特性,对象实际是对一组数据和操作的封装,对象的抽象就是类.在面向对象技术中,对象涉及到以下几个重要的特性:  封装性 通过对数据和操作的封装,将用户关心的数据和操作暴露出来作为接口,其他数据和操作则隐藏到对象内部,这样便于用户使用和维护.  继承性 对象具有继承性,通过这一特性可以增强程序的可扩展性,适合大型项目的开发.  多态性 同一操作在运行时刻有

请问有没有基于asp或者.net技术的路谈系统

问题描述 请问有没有基于asp或者.net技术的路谈系统比如基于php的有discuz基于jsp的有leobbs那么基于asp的有没有啊谢谢 解决方案 解决方案二:up解决方案三:dvbbs可以看看解决方案四:以后需再关注,现在先帮你顶一下

“基于带宽的广告”技术: 广告内容随带宽而变

创业公司GoldSpot Media推出新型"基于带宽的广告"技术,该技术可以让广告商在不同带宽下显示不同的http://www.aliyun.com/zixun/aggregation/17577.html">广告内容.如果用户手机使用的是付费的3G网络,广告内容显示为单一的横幅广告:如果用户手机使用免费的wi-fi上网,在横幅广告上会加载一个自动播放的,在屏幕部分区域显示的重叠式视频广告.该模式既增加了视频收视率又不浪费用户流量. 之前,不管带宽是多少,用户首先都会

江南天安邓小四:浅谈基于国产商用密码技术在云计算中的应用

在第八届中国云计算大会上,参会者.包括笔者自己都深有感触的一点就是,云计算大会越来越"接地气",讨论的内容早已从讨论云计算概念和技术,到如今的"用实际应用说话"的阶段了,同时,云计算实践的一线厂商的积极参与,让我们看到了云计算现在开始慢慢凸显的能力和价值. 在本届云计算大会上,云计算大数据安全论坛盛况空前,论坛聚焦云计算大数据安全话题,邀请了云计算大数据安全专家.云安全提供方及云计算用户.白帽子现身说法,一起交流云计算大数据安全的实践经验.随着云计算在企业的应用加快

基于数据消冗技术的大数据加密算法研究

基于数据消冗技术的大数据加密算法研究 华北水利水电大学   王蒙蒙 论文的主要研究内容和创新点包括:1.大数据通用加密模型及加密技术原理研究.在对大数据基本特征及通用加密模型进行系统研究的基础上,深入剖析了基于现代密码体制.基于生物工程.基于属性基和基于并行计算四类大数据加密方案的技术原理和优缺点. 2.提出了一种基于Bloom filter技术的大数据消冗算法.根据大数据信息海量.数据量增长快.数据类型多样化.密度低和冗余度高等基本特征,深入研究了完全文件.固定长度块.变长分块和滑动窗口4种消