delphi提示錯誤行號之Assert(斷言)

來源:互聯網
上載者:User

標籤:

 

一、用法:Assert(運算式)
1.如果為假 Assert會產生一個EAssertionFailed異常,顯示為 Assertion Failed (C:/src/unit1.pas, [size=+0]line 34)
2.如果不想再使用這些檢查時,可以使用($ASSERTIONS OFF)或($C-)編譯指令
3.要想使Assert在整個項目中失效, 關閉Project Options | Compiler | Assertion 選項。

二、delphi Assert()函數的用法
Assert(斷言)的作用是用來進行條件測試。可以計算運算式 Expression ,如果其值為假(即為0),那麼它先向stderr列印一條出錯資訊,然後通過調用 abort 來終止程式運行。
缺點是,頻繁的調用會極大的影響程式的效能,增加額外的開銷。

三、用法總結與注意事項:
1)在函數開始處檢驗傳入參數的合法性
2)每個Assert只檢驗一個條件,因為同時檢驗多個條件時,如果宣告失敗,無法直觀的判斷是哪個條件失敗
3)不能使用改變環境的語句,因為Assert只在DEBUG個生效,如果這麼做,會使用程式在真正運行時遇到問題。
4)Assert和後面的語句應空一行,以形成邏輯和視覺上的一致感
5)有的地Assert不能代替條件過濾

四、程式執行個體
procedure TForm1.Button1Click(Sender: TObject);
begin
//參數1為false時提示,參數2為提示字元
Assert(False,‘這地方有錯!‘);
end;

 

delphi提示錯誤行號之Assert(斷言)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.