Delphi中break,exit,abort跳出迴圈的比較

來源:互聯網
上載者:User

標籤:htm   top   www   log   表示   流程   itop   exception   body   

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跳出迴圈的比較

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.