2 回答

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
停止程序執(zhí)行。和exit不同的是,exit只是退出某個(gè)過程或者函數(shù),而abort整個(gè)都停止,如果在一個(gè)過程或函數(shù)里調(diào)abort,外面調(diào)時(shí)也會(huì)被停止

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
Exit 是跳出當(dāng)前代碼塊,也就是當(dāng)前函數(shù),跳出后是要繼續(xù)向下執(zhí)行的(如果有后續(xù)代碼)。
Abort 是從 EAbort 過來的,可以激發(fā) exception,其實(shí)質(zhì)就是 Abort = RaiseException(),是一個(gè)不出現(xiàn)對(duì)話框的異常。所以 Abort 的行為和異常是一樣的,其代碼執(zhí)行順序也是follow異常的流程。
例如:try (1) //執(zhí)行了 abort; (2) //不執(zhí)行exception (3) //執(zhí)行了end;用 Abort 能夠執(zhí)行 exception 里邊的代碼,但是如果用 Exit,就直接離開,不管 exception。
例如:
procedure p1;
begin
p2;
p3;
end;
procedure p2;
begin
abort; //exit;
end;
procedure p3;
begin
//showmessage()..
end;
如果用 Abort,則執(zhí)行不到 P3,如果用 Exit 就能夠執(zhí)行到 P3。附加: Exit是推出當(dāng)前子程序。如該子程序包含在另一個(gè)子程序則另一個(gè)子程序繼續(xù)執(zhí)行。 halt是不正常推出程序。后邊的代碼不會(huì)執(zhí)行。 abort;全部放棄。如該子程序包含在另一個(gè)子程序則另一個(gè)子程序放棄執(zhí)行。
- 2 回答
- 0 關(guān)注
- 717 瀏覽
添加回答
舉報(bào)