[转帖]Delphi中异常_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4719 | 回复: 1   主题: [转帖]Delphi中异常        上一篇   下一篇 
wenjie.zhang
注册用户
等级:上尉
经验:628
发帖:54
精华:0
注册:2013-11-11
状态:离线
发送短消息息给wenjie.zhang 加好友    发送短消息息给wenjie.zhang 发消息
发表于: IP:您无权察看 2013-11-15 14:04:08 | [全部帖] [楼主帖] 楼主

在Delphi中有两种程序错误,一种是编译错误,在程序编辑阶段就可以由编译器发现并给出提示。另外一种是运行错误,这类错误不能在编译阶段查出,只能在程序执行时发现,称为运行错误。 Delphi提供了一种机制来处理运行错误,保护程序的正常执行,这种机制就是异常处理。异常处理的方法是把正常的执行程序同错误的处理程序分离开来,这样可以保证在没有错误时,程序正常执行,当发生错误时,执行错误处理部分的程序,然后程序跳出保护模块,继续执行后续的程序。

1 异常处理的目的

    为了避免程序在执行中出现可能超乎预料结果而导致错误的状况,然后对这些异常的状况做妥善的处理,不让异常的状况造成错误的结果。致使程序异常停止,这就是异常处理存在的目的。

     可能会认为所开发的程序是可以执行的,因此不需要异常处理,然而当程序编译后没有错误发生时,并不表示程序就完美无缺,事实上某些异常状况是在执行中才发生的。除此之外,有时程序还会受软、硬件环境的影响而发生程序异常的情况异常处理,可以说是预防程序执行时发生异常而中断的一道防线,通过异常处理可以设法让程序避开异常的发生,不让它异常中断;或者在中断程序前,对数据做适当的处置,而不致丢失重要的数据。

2 Object Pascal异常的种类

    异常类的种类,主要可以分为两大类,一种是Delphi内建的异常类,另一种则是程序员自定义的异常类。

     异常基类及其属性和主要方法

     在Delphi中,所有异常的基类是Exception类。所有其他异常类都是由该类派生而来。

1.exception属性

    该类有两个基本属性:HelpContext和Message。

     (1)Exception.HelpContext属性

     该属性的定义如下:

§Type ThelpContext= -MaxLongint..MaxLongint;
§Property HelpContext:ThelpContext;


    HelpContext是ThelpContext类的一个实例,它提供了与异常对象联系在一起的上下文相关帮助信息的序列号。该序列号决定当发生异常时用户按F1键显示的一个异常错误的帮助信息.

     (2)Exception.Message属性

     该属性的定义如下:

property Message: string


      该属性存储异常发生时的错误信息。可以通过该属性在提示错误对话框中显示错误信息字符串。

2.exception方法

     (1)Exception.Create方法

     该方法的定义形式为:

Constructor Create(Const Msg: String);


 该方法用来产生一个带有一条简单提示信息的对话框,对话框中的提示内容由Msg提供.

    (2)Exception.CreateFmt方法

     该方法的定义格式如下:

Constructor CreateFmt(Const Msg:String;Const Args:Array of Const) ;


 该方法用来产生一个带有格式化字符串提示信息的对话框,格式化的字符串由Msg和Args数组共同提供,其中数组Args负责提供用于格式化的数值。

     (3)Exception.CreatHelp方法

     该方法的定义格式如下:

Constructor CreateHelp(Const Msg:String; AhelpContsxt:Integer) ;


   该方法产生一个带有一条简单提示信息和上下文帮助序列号的提示对话框。其中Msg参数包含了显示在异常对话框中的运行错误信息。AhelpContext参数包含一个限定异常错误信息上下文帮助序列号。




赞(0)    操作        顶端 
zarhoo
注册用户
等级:上士
经验:306
发帖:0
精华:0
注册:2016-12-27
状态:离线
发送短消息息给zarhoo 加好友    发送短消息息给zarhoo 发消息
发表于: IP:您无权察看 2017-2-14 15:39:42 | [全部帖] [楼主帖] 2  楼

不是很明白



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论