三个异常处理问题(20分)

  • 主题发起人 小城月光
  • 开始时间

小城月光

Unregistered / Unconfirmed
GUEST, unregistred user!
我用 try .... finally...结果在没有出现异常的情况下也执行finally??
另外try。。。except handleexception end 明明delphi帮助文件里也这样用的
但我用就出错
另外try。。。except ..else ...end 但我发现根本没有执行else后的句子??
分少不好意思!!谢谢!!
 
另外如何获取程序运行时间?/
 
try ... finally ... end
本意就是在任何情下都执行finally ... end

帮助文件里的HandleException是说让你接管Exception的意思

try。。。except ..else ...end 语法不存在,else不是与try ... except 配对的,而是在
Except段与 on E;Exxxx do 配对的,就是说只有在确实发生异常而所有的ON语句都没有俘获
到异常的情况下才会执行else部分

 
你想在什么位置和什么时候获取程序运行时间?
在mainfrm的create事件中记录下当前时间不可以吗?
 
谢谢楼上二位!!
to armyjiang:
我想做一个算法程序,想按下button后知道算法程序运行时间,如何做?我用gettickcount
好象不行?
 
你所说的gettickcount我不清楚,但是在button.click中先将now保存,然后执行算法程序
等到结束后再记录当前时间,两个时间的间隔就是你想要的值。
 
to 龙丹:HandleException你可以举个例子?谢谢!!
to armyjiang:如何获取当前时间?精度能否保证?谢谢!!
 
你想精度达到什么程度? 用now只能为秒级。
formatdatetime('YYYYMMDD hh:nn:ss',now)
 
x:=0;
y:=100;
try
x:=y div x;
if x=y then
raise Exception.Create('x=1');
except
//HandleException:
on EDivByZero do
ShowMessage('被零除');
else
ShowMessage('其它错误');
end;
若第一行改为x:=1,则报告‘其它错误’

第二个问题,开始执行之前,T0:=GetTickCount;执行完成时GetTickCount-T0就是执行的毫秒数
 
接受答案了.
 
顶部