delphi try except语句 和 try finally语句用法以及区别

try//尝试执行
{SomeCode} 
except//出错的时候执行, Except有特定的错误类型 
{SomeCode} 
end;

try//尝试执行
{SomeCode} 
finally//无论如何都强制执行
{SomeCode} 
end;

例:
try
Age:=StrToInt(Edit1.Text);
ShowMessage(Format(‘生于%d年‘,[YearOf(Now)-Age]));
except
on EConvertError do
showmessage(‘输入编辑框的不是一个有效的数字!‘);
on ERangeError do
showmessage(‘输入编辑框的年龄值太大!‘);
end;

保留字on…do用于判断异常类型。必须注意的是:except后面的语句必须包含在某一个on…do模块中,而不能单独存在。这又是同finally不同的一个地方。

异常处理
try
//成功失败都跳进finally语句里执行
finally

end;
try
//失败才跳进 except里执行
except on e:Exception do
ShowMessage(e.Message);
end;

时间: 2024-11-05 18:44:04

delphi try except语句 和 try finally语句用法以及区别的相关文章

转:delphi异常捕获try except语句 和 try finally语句用法

转:http://www.java123.net/v/936977.html      2015-06-24 09:27:48 一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来,记下!主要是前面小部分,后面的是详细说明(很啰嗦!) 一.异常的来源 在Delphi的应用程序中,下列的情况都比较有可能产生异常. (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突 二.异常的处理 (1)try…except…end;

delphi异常捕获try except语句 和 try finally语句用法

原文地址:delphi try except语句 和 try finally语句用法以及区别 一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来,记下!主要是前面小部分,后面的是详细说明(很啰嗦!) 一.异常的来源 在Delphi的应用程序中,下列的情况都比较有可能产生异常. (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突 二.异常的处理 (1)try-except-end; 在try体内的代码发生异常时,系统

Entity Framework where语句起作用的真正用法

之前对Entity Framework的理解不深,只是图方便,作为linqtosql的替代,但是碰到数据库内容非常多(10万-100万条)时,分页效率很低,用 profiler查看sql语句,才发现其竟然是一次性读取全部数据到内容,然后再执行where之后的语句,真是恐怖. 在网上查询很久,终于发现以下文章,遂记录如下: 这篇文章写完后,发现网上有大量关于Expresstion和Func的讨论,可以不看我的,看这几篇,是一样的,还更深入一些: http://fascinatedwithsoftw

Lua语言教程1 ——【变量输出,方法输出,if语句和for循环语句!】

变量输出: num="Hello Lua" print (num) 方法输出: if语句: for循环语句:

循环语句,跳转语句,方法调用

1)循环语句while,do/while,for 格式:while(布尔表达式){循环体语句}//先验循环,可执行0次或n次,若布尔表达式第一次为false,永不执行循环体语句 do{循环体语句}while(布尔表达式)://后验循环,可执行一次或n次,且至少执行一次 for(初始化:布尔表达式:变量变化的方式){循环体语句}//初始化只执行一次,且可以留白,但是分号必须要有(重点掌握) 2)跳转语句break,continue break:跳出本层循环,一旦遇见,break之后的代码通通不执行

C#语句1:选择语句

语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为“控制流”或“执行流”. 根据程序对运行时所收到的输入的响应,在程序每次运行时控制流可能有所不同. 注意,语句间的标点符号必须是英文标点,语句的结束标点是分号“;”. 语句可以嵌套,可以是以分号结尾的单行代码,也可以是语句块中的单行语句.语句块括在括号 {} 中,并且可以包含嵌套块. 语句的类型包括声明语句,表达式语句,选择语句,循环语句,跳转语句,异常语句 1.声明语句引:入新的变量或常量. 变量声明可以选择为变量赋值. 在常量声

4 java语句 4.2条件语句

大纲 4.1复合语句:不做重点 4.2条件语句 概述: 条件语句可以根据不同的条件执行不同的语句.条件语句包括if语句和switch多分支语句. 4.2.1  if 条件语句 if条件语句是一个重要的编程语句, 1.简单的if语句 格式:if(逻辑表达式){语句序列}; <例>int a=1; if(a==1)System.out.prnt("a的值是"+a);//只有一句输出时可以不带大括号,但最好都带上 2.if....else语句 else所表达的意思与if中的&qu

LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别【转】

在写LINQ语句的时候,往往会看到.AsEnumerable() 和 .AsQueryable() .例如: string strcon ="Data Source=.\\SQLEXPRESS;Initial Catalog=Db_Example;Persist Security Info=True;User ID=sa;Password=sa";SqlConnection con =new SqlConnection(strcon);con.Open();string strsql

Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句&#39;&#39; &quot;&quot;作用

//方法一,可以验证登录,但方法不实用.package com.swift; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class Logi

try catch finally中return语句与非return语句的执行顺序问题

finally语句一定是会被执行的,不管前边的try块catch块中有无return语句,并且如果finally中存在return语句,这个return语句将会是最后执行的return语句,即函数最后的返回值.try,catch中的return并不是让函数直接返回,而是return语句执行完毕,把返回结果放到函数栈中,转而执行finally块,所以,若是finally中含有return语句,那么函数栈中的返回值将被刷新.看以下几种情况: 1:try有return,finally无 public