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。
附加: Exit是推出当前子程序。如该子程序包含在另一个子程序则另一个子程序继续执行。
halt是不正常推出程序。后边的代码不会执行。
abort;全部放弃。如该子程序包含在另一个子程序则另一个子程序放弃执行。