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