Java 斷言機制

用途

使用斷言可以創建更穩定,品質更好且易于除錯的代碼
當需要在一個值為FALSE時中斷當前操作的話,可以使用斷言
單元測試必須使用斷言(Junit/JunitX)
除了類型檢查和單元測試外,斷言還提供了一種確定各種特性是否在程序中得到維護的極好的方法
使用斷言使我們向按契約式設計 更近了一步

使用方式

  1. assert Expression1
  2. assert Expression1:Expression2

其中Expression1應該總是一個布爾值,Expression2是斷言失敗時輸出的失敗消息的字符串。如果Expression1為假,則拋出一個 AssertionError,這是一個錯誤,而不是一個異常,也就是說是一個不可控制異常(unchecked Exception),AssertionError由于是錯誤,所以可以不捕獲,但不推薦這樣做,因為那樣會使你的系統進入不穩定狀態。

何時需要使用斷言

  1. 可以在預計正常情況下程序不會到達的地方放置斷言 :assert false
  2. 斷言可以用于檢查傳遞給私有方法的參數。(對于公有方法,因為是提供給外部的接口,所以必須在方法中有相應的參數檢驗才能保證代碼的健壯性)
  3. 使用斷言測試方法執行的前置條件和后置條件
  4. 使用斷言檢查類的不變狀態,確保任何情況下,某個變量的狀態必須滿足。(如age屬性應大于0小于某個合適值)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 斷言概述 編寫代碼時,我們總是會做出一些假設,斷言就是用于在代碼中捕捉這些假設 可以將斷言看作是異常處理的一種高級...
    Zcclucky閱讀 2,308評論 0 1
  • 轉自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,588評論 3 93
  • 下面的內容是對網上原有的Java面試題集及答案進行了全面修訂之后給出的負責任的題目和答案,原來的題目中有很多重復題...
    獨念白閱讀 1,375評論 0 3
  • 第一部分 準入訓練 第1章 進入忍者世界 js開發人員通常使用js庫來實現通用和可重用的功能。這些庫需要簡單易用,...
    如201608閱讀 1,365評論 1 2