一个简单的delphi使用问题,向各位赐教! 如何使用try。。except 和try finally的用法及两种用法的区别,请给出几个实例解释,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try。。except :如果try过程不出错,不执行except中的代码,如果出错,立即转到except中try finally :如果try过程不出错,最后仍然执行finally中的代码,如果出错,立即转到finally中 try . . (程序执行部分)except //抛出异常信息(发生异常才会执行下面的语句) on E:exception do begin showmessage(E.Message); exit; end;end;try . . (程序执行部分)finally //一般用于对象的释放(无论是否发生异常程序都会执行下面的语句) Adoquery1.free;end;想有更深一步的了解,还是建议楼主多找个资料看看。 try ... except ...和try ... finally ...都可以用来捕获异常,区别是:try ... except ...当在try子句中产生异常后,中断当前操作,立即转入except子句执行,except中也可以重新raise该异常或raise一个新的异常,被捕获的异常再不会被外层的异常处理再次捕获,所以可以理解为单纯的异常处理。try ... finally ...不论try子句中是否产生异常,finally子句中的操作都会被执行,try子句中产生异常的语句后面的操作不会被执行。通常用来在finally子句中关闭文件,释放资源等。 补充一下try只能在编译后,执行exe时才有效,调试的时候是不能捕获异常的。 try i:=5/0;except showmessage('error');end;这里,当执行i:=5/0时,就会出错还转执行except中的语句,但如是i:=5/5就执行到end下一句.try i:=5/0;finally showmessage('error');end;这里,当执行到i:=5/0语句时,无论是i:=5/0还是i:=5/5都会执行finally中的语句,也就是报错.应该差不多吧,希望对你有所帮助. delphi 一个Tquery中写多条SQL语句 已经声明过的组件怎么不能编译? win2k english , 怎么使用汉字输入法(大虾请入) 线程的小问题,高手请进!!!!! ADO问题 两个小问题,请大家帮忙 關於TreeView 如果在程序中捕获TerminateProcess事件! 请问如何让自己的程序在win2000的登录对话框出现前运行? 我准备把7月份的贴子全部结了大家认为如何? delphi中TAPI编程的问题? 急!!!delphi7在win2000下开发的软件在XP操作系统下的问题???
.
.
(程序执行部分)
except //抛出异常信息(发生异常才会执行下面的语句)
on E:exception do begin
showmessage(E.Message);
exit;
end;
end;try
.
.
(程序执行部分)
finally //一般用于对象的释放(无论是否发生异常程序都会执行下面的语句)
Adoquery1.free;
end;
想有更深一步的了解,还是建议楼主多找个资料看看。
try ... except ...当在try子句中产生异常后,中断当前操作,立即转入except子句执行,except中也可以重新raise该异常或raise一个新的异常,被捕获的异常再不会被外层的异常处理再次捕获,所以可以理解为单纯的异常处理。
try ... finally ...不论try子句中是否产生异常,finally子句中的操作都会被执行,try子句中产生异常的语句后面的操作不会被执行。通常用来在finally子句中关闭文件,释放资源等。
try只能在编译后,执行exe时才有效,调试的时候是不能捕获异常的。
i:=5/0;
except
showmessage('error');
end;
这里,当执行i:=5/0时,就会出错还转执行except中的语句,但如是i:=5/5就执行到end下一句.
try
i:=5/0;
finally
showmessage('error');
end;
这里,当执行到i:=5/0语句时,无论是i:=5/0还是i:=5/5都会执行finally中的语句,也就是报错.
应该差不多吧,希望对你有所帮助.