请问try......except和try........finally由啥本质不同(100分)

  • 主题发起人 主题发起人 墙头草
  • 开始时间 开始时间

墙头草

Unregistered / Unconfirmed
GUEST, unregistred user!
请问try......except和try........finally由啥本质不同
 
except 是发生错误后执行,没错就略过去
finally 是始终都执行,不管有没有错
 
try
 语句1....
except
语句2..
end
当执行语句1有异常发生时,会跳到语句2执行;如果没有异常是不会执行语句2的;
而FINALLY不管有没有异常都会执行语句2的。
 
try
....
finally
...
end;
不管在try中发生什么错误或没有发生错误,都要执行fianlly中的语句。
try
...
except
...
end;
如果没有发生错误,就不执行except中的语句,否则执行
 
同意楼上的。
可以这样理解,如果用Try....finally就是说
不管出现什么情况,像是非法退出了什么了,
都会执行一下“语句2”,适合用在建立临时
物体处,防止内存溢出。
而且Try...except就是一定要“语句1”中出现
异常才执行,而且抛出错误代码,可以用在执行
一些发生错误机率比较大的地方,如三层结构的
数据提交处,并可根据错误代码给用户比较合理
的错误说明。
 
try........finally可用于释放资源,不管有没有异常都会执行。
try......except用于异常处理,没有异常不会执行,不影响正常的程序流程。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
913
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部