以前寫過一篇博客(http://www.javashuo.com/article/p-onrrgbca-ch.html),使用@ControllerAdvice對代碼中的全局異常作處理。可是這種方式過於繁瑣,而且會影響可讀性,拋出業務異常的示例:express
Route route = routeTravelAppService.getRouteInfo(routeId); if(route == null ){ throw new BaseException(BaseException.TICKET_NOTE_TYPE_IS_NOT_AVAILABLE,"行程爲空"); } |
若使用Assert工具類上面的代碼能夠簡化爲:工具
Assert.hasText((name, "參數錯誤!"); |
這樣能夠大大加強代碼的可讀性,下面咱們來介紹一下Assert類中的經常使用斷言方法。spa
下面列舉幾個經常使用方法.net
方法 | 說明 |
isTrue(boolean expression, String message) | 當 expression 不爲 true 拋出異常 |
isNull(Object object, String message) | 當 object 不爲 null 時拋出異常 |
notNull(Object object, String message) | 當 object 爲 null 時拋出異常 |
hasLength(String text, String message) | 當 text爲 空字符串 時拋出異常 |
hasText(String text, String message) | text 不能爲 null 且必須至少包含一個非空格的字符,不然拋出異常 |
示例:blog
Assert.hasText(strategy_id, "strategy_id can not be NULL"); |