溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Scala 的參數檢查與斷言: require, assert, assume 和 ensuring

發布時間:2020-07-10 23:49:35 來源:網絡 閱讀:1112 作者:Unmi 欄目:開發技術

似乎 C/C++ 的編程人員相比于 Java 更偏愛于斷言,JDK 1.4 才開始引入 assert 的支持,但默認是關閉的,需要用 -ea 編譯選項打開,否則代碼中的 assert 語句全被忽略,一般會在單元測試中開啟該選項。簡單回顧一下 JDK 自帶的斷言,它用兩種寫法

assert object != null;
assert object != null : "object can't be null";

第一個參數是個 bool 值,斷言失敗只會籠統的拋出java.lang.AssertionError 異常,并不區分是在檢驗方法參數還是中間運算結果。嚴謹來說我們會希望參數檢查不通過時拋出 java.lang.IllegalArgumentException; 而中間運算結果的斷言不過希望拋出 java.lang.AssertionError, 最好是 java.lang.IllegalStateException。

很多時候我們不會去使用 -ea 編譯選項,也就是主動放棄了 JDK 本身的斷言功能。介于兩個因素(不同的斷言錯誤和默認的斷言選項關閉),Scala 為我們提供了更方便的參數檢查與斷言方法,它們來自于 Predef, 其所定義的方法可以直接使用

Scala 的參數檢查與斷言: require, assert, assume 和 ensuring閱讀全文 >>


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女