Break
退出當前迴圈體,包括for ,while, repeat等迴圈體;
Continue
用於從For語句,while語句或repeat語句強行結束本次迴圈,並開始下一次迴圈;
Exit
跳出當前程式碼塊,也就是當前函式,跳出後是要繼續向下執行的(如果有後續程式碼),
若該程式碼為主程式,則終止該程式,若是函式或過程,則立即退出過程或函式;
正常退出,如果在 try 塊中, finally 的程式會執行;
舉例:
procedure TForm2.btn1Click(Sender: TObject);
begin
try
try
Exit;
except
OutputDebugString('except'); //這裡不會,因為沒有發生異常,是正常退出
end;
finally
OutputDebugString('finaly'); //這裡會輸出
end;
end;
Abort
激發異常退出,安靜處理,就是不彈框提示報錯,是一個不出現對話方塊的異常;如果在 try 塊中,except 和 finally 的程式會執行,舉例:
procedure TForm2.btn1Click(Sender: TObject);
begin
try
try
Abort;
except
OutputDebugString('except'); // 這裡會輸出
end;
finally
OutputDebugString('finaly'); //這裡會輸出
end;
end;
Abort 是從 EAbort 過來的,可以激發 exception,其實質就是 Abort = RaiseException(),是一個不出現對話方塊的異常。所以 Abort 的行為和異常是一樣的,其程式碼執行順序也是follow異常的流程。
Exit 與 Abort 區別
舉例1:
try
(1) //執行了
abort;
(2) //不執行
except
(3) //執行了
end;
try
(1) //執行了
exit;
(2) //不執行
except
(3) //不執行了
end;
用 Abort 能夠執行 except 裡邊的程式碼,但是如果用 Exit,就直接離開,不管 except。
示例2:
procedure p1;
begin
p2;
p3;
end;
procedure p2;
begin
abort; //exit;
end;
procedure p3;
begin
//showmessage()..
end;
如果用 Abort,則執行不到 P3,如果用 Exit 就能夠執行到 P3;
Halt
非正常結束程式,可有 Integer 引數給作業系統,windows 程式一般使用:Application.Terminate,用於強行終止應用程式的執行,返回作業系統(非正常退出方式)。
RunError
生成一個執行時錯誤,並退出程式。引數是 Byte 型,預設0,終止程式的執行,併產生執行錯誤(返回錯誤程式碼);
Sleep
暫定執行緒多少毫秒;