Delphi异常处理的基本原则和方法】的更多相关文章

Delphi异常处理的基本原则和方法 一.异常的来源. 在Delphi的应用程序中,下列的情况都比较有可能产生异常.(1)文件处理(2)内存分配(3)Windows资源(4)运行时创建对象和窗体(5)硬件和操作系统冲突 二.异常的处理. (1)try…except…end;在try体内的代码发生异常时,系统将转向except部分进行异常的处理.这是Delphi处理异常的最基本的方式之一. (2)try…finally…end;这种异常处理结构一般用于保护Windows的资源分配等方面,它确保了无…
Delphi错误:Stack overflow的解决方法 在编译Delphi程序时,执行一个内存记忆体的时候,提示:Project.exe raised exception class EStackOverflow with message : Stack overflow.这是堆栈溢出错误.原因就是字符串所存储的内容超过DELPHI系统堆栈默认的大小 16*100000 .我们可以改大这个默认值.那么如何给我们的应用程序分配更大的内存空间以避免堆栈溢出呢?其实,在每个Delphi项目中都有一个…
今天在写用ADO从EXCEL导入数据的程序时,出现个错误,弄了很久都弄不好,最后还是用异常处理解决掉了. 数据中日期在导入之前要转换成日期格式,虽然说一个strtodate就可以转好了,但是数据中的日期有空的,日期是空的话,转换时就出错,这个还好处理,加个IF语句就可以了.但是,那堆数据中,最后一行数据的日期又是空的,但是读出来就不是""了,而是null,这样,strtodate转换又出错了.想用IF语句来判断弄了一两个小时都没弄好.最后一个try except就搞定了. 心得是:在编…
Delphi异常处理try except语句和try finally语句用法以及区别 一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来,记下!主要是前面小部分,后面的是详细说明(很啰嗦!) 一.异常的来源 在Delphi的应用程序中,下列的情况都比较有可能产生异常. (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突 二.异常的处理 (1)try…except…end; 在try体内的代码发生异常时,系统将转向e…
EhLib 在 Delphi 7 下的安装方法 1.将 EhLib 解压到一个目录,如:E:\VCL\EhLib: 2.将 EhLib 安装目录下 Common 目录.DataService 目录下的所有文件拷贝到 EhLib 安装目录下的 Delphi 7 目录: 3.启动 Delphi 7: 4.选择 File — Open Project,跳转到 EhLib 安装目录,在出现的打开文件对话框文件类型下拉列表中选择 Delphi Package(*.dpk:*.dpkw),在文件列表中选择…
用Delphi画圆角Panel的方法: procedure TForm1.Button5Click(Sender: TObject);var fhr :Thandle;beginfhr:=CreateRoundRectRgn(0,0,panel1.width,panel1.height,4,4);SetWindowRgn(panel1.handle,fhr,true);end; Panel的BevelInner 及 BevelOuter 最好设成 bvNone http://blog.csdn.…
来自:http://blog.sina.com.cn/s/blog_4bc47d2301018trf.html ------------------------------------------------------------------ delphi dispose释放内存的方法 New 和 GetMem 的区别 定义一个record 类型,经过多次new dispose后,从windows任务管理器看,占用的内存比启动时大了很多,似乎越来越大 设置 ReportMemoryLeaksO…
delphi dispose释放内存的方法 2010-06-08 19:39:59|  分类: DELPHI |  标签: |举报 |字号大中小 订阅     dispose使用方法的简单介绍在本文末尾. 定义一个record 类型,经过多次new dispose后,从windows任务管理器看,占用的内存比启动时大了很多,似乎越来越大 设置 ReportMemoryLeaksOnShutdown := true; 再运行,仍然没有提示 memory leak. 其实就是dispose 本身的原…
     本文是异常处理经验性的文章,其实跟C#关系也不大.比较适合刚刚熟悉异常语法,而缺乏实战的读者.当然,经验老练的读者也可指出不足.给予意见.补充说明,一起完善文章,分享更多知识与经验.   1.什么时候该异常处理? 1)代码最外层,如WinFrom,避免用户看到内部异常信息用户体验不好,或者造成程序崩溃,可以用log4net之类的框架记录异常. 2)遇到异常需要恢复状态或者重试的地方.例如连接数据库偶然失败了,可以有个重连机制,在Catch块重新连接数据库. 3)对于一系列有可能失败的任…
开发人员对异常处理的try-catch-finally语句块都比较熟悉.如果在try语句块中抛出了异常,在控制权转移到调用栈上一层代码之前,finally语句块中的语句也会执行.但是finally语句块在执行的过程中,也可能会抛出异常.如果finally语句块也抛出了异常,那么这个异常会往上传递,而之前try语句块中的那个异常就丢失了.如例: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28…