1. 程式人生 > >Delphi中break,exit,abort跳出循環的比較

Delphi中break,exit,abort跳出循環的比較

離開 rep 異常信息 異常 直接 跳出循環 repeat while eat

http://www.delphitop.com/html/hanshu/104.html

Delphi中break,exit,abort跳出循環的比較

exit: 退出函數體
abort: 遇到異常,安靜處理,就是不顯示不提示
break: 退出當前循環體,包括for ,while, repeat等循環體
continue: 結束循環內的本次處理,繼續從循環體的開始位置繼續執行

Exit 是跳出當前代碼塊,也就是當前函數,跳出後是要繼續向下執行的(如果有後續代碼)。

Abort 是從 EAbort 過來的,可以激發 exception,其實質就是 Abort = RaiseException(),是一個不出現對話框的異常。所以 Abort 的行為和異常是一樣的,其代碼執行順序也是follow異常的流程。
例如:
try
(1) //執行了
abort;
(2) //不執行
exception
(3) //執行了
end;

用 Abort 能夠執行 exception 裏邊的代碼,但是如果用 Exit,就直接離開,不管 exception。


delphi中表示跳出的有break,exit,abort。
【break】
離開循環 只能放在循環中

【exit】
跳出本模塊(過程和函數),放在循環中是跳出循環在所在的模塊。

【abort】
中止程序的運行,產生不報錯的異常信息。跳出祖先模塊。和【exit】的區別是
procedure p1;
begin
p2;
p3;
end;
procedure p2;
begin
abort; //exit;
end;
procedure p3;
begin
//showmessage()..
end;
如果用 Abort,則執行不到 P3,如果用 Exit 就能夠執行到 P3。

Delphi中break,exit,abort跳出循環的比較