Skip to content
EntityQ741248· pop 19· linked from 81 articles

斷言 (程式)

Sign in to save

Also known as assertion statement

in computer programming, statement that a predicate is always true at that point in code execution

Article · 中文

在程式設計中,斷言(assertion)是一種放在程式中的一階邏輯(如一個結果為真或是假的邏輯判斷式),目的是為了標示與驗證程式開發者預期的結果-當程式執行到斷言的位置時,對應的斷言應該為真。若斷言不為真時,程式會中止執行,並給出錯誤訊息。 例如,以下的程式包括二個斷言: x := 5;{x > 0}x := x + 1{x > 1} x > 0及x > 1,當程式執行到二個斷言對應的位置時,斷言的內容均為真。 程式設計者可以用斷言來標示程式,提供程式正確性的相關資訊。例如在一段程式前加入斷言(先驗條件),說明這段程式執行前預期的狀態。或在一段程式後加入斷言(),說明這段程式執行後預期的結果。 以下的範例使用東尼·霍爾在1969年論文中提出的斷言標示方式。 x = 5;x = x + 1;// {x > 1} 以上註解中的大括號表示為斷言,不是一般的註解。現有的主流程式語言不支援上述的標示方式,不過程式設計者仍可以用註解的方式標示斷言,標示此時應該成立的條件,只是此斷言沒有檢查機能,不成立時程式不會中止執行。 許多現代的程式語言已支援有檢查機能的斷言,可能是執行期或其他時間檢查的陳述。若在執行期中有斷言不成立,會出現斷言失敗,一般會停止程式的執行。程式設計者可以專注在斷言失敗,邏輯不一致的部份,並設法修正。 斷言的使用有助於程式設計者設計、開發及理解程式。

Abstract from DBpedia / Wikipedia · CC BY-SA