您的位置:首页 > 其它

Exit和Abort有什么区别和联系

2008-07-24 10:15 483 查看
Exit 是跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码)。

Abort 是从 EAbort 过来的,可以激发 exception,其实质就是 Abort = RaiseException(),是一个不出现对话框的异常。所以 Abort 的行为和异常是一样的,其代码执行顺序也是follow异常的流程。

例如:
try
(1) //执行了
abort;
(2) //不执行
exception
(3) //执行了
end;
用 Abort 能够执行 exception 里边的代码,但是如果用 Exit,就直接离开,不管 exception。例如:
procedure p1;
begin
p2;
p3;
end;
procedure p2;
begin
abort; //exit;
end;
procedure p3;
begin
//showmessage()..
end;

如果用 Abort,则执行不到 P3,如果用 Exit 就能够执行到 P3。

例子:
.......................
var
i   :   integer;
begin
for   i   :=0   to   10   then
begin
if   i=1   then
exit/abort;//exit将直接跳出该过程   abort中断循环但下面的过程继续执行
end;
.................
end;

Exit直接退出,Abort还要执行except后的错误信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: