国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

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

2019-11-09 19:35:08
字體:
供稿:網(wǎng)友

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

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

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

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

閱讀全文 >>


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安宁市| 习水县| 康平县| 仙桃市| 阿尔山市| 太仆寺旗| 长阳| 韩城市| 威信县| 余庆县| 新沂市| 鄂尔多斯市| 友谊县| 清远市| 长宁县| 屏山县| 英山县| 昌平区| 疏勒县| 尼玛县| 甘谷县| 留坝县| 安阳市| 三明市| 天津市| 大余县| 北辰区| 满洲里市| 蓬溪县| 南皮县| 大理市| 锡林浩特市| 黎城县| 长沙市| 都江堰市| 天水市| 义马市| 班玛县| 开阳县| 台湾省| 望江县|