/** * 將JSON轉爲POJO */ public static <T> T fromJson(String json, Class<?> type){ T pojo; try { pojo = (T) OBJECT_MAPPER.readValue(json, type); } catch (Exception e) { LOGGER.error("convert JSON to POJO failure",e); throw new RuntimeException(e); } return pojo;//這裏由於try-catch中拋出了RuntimeException因此能夠編譯經過 }
在catch中再throw new RuntimeException的,是爲了中斷程序,由於runtime的異常會中斷程序,再也不運行下去java
若是在catch塊中不拋出RuntimeException 編譯不經過,由於pojo沒有初始化.json
若是拋出,則異常處理有了肯定的結果,要麼pojo不會爲空,要麼程序終止。這樣邏輯通,若是不拋出RuntimeException,則程序可能在pojo爲空的狀況下繼續運行,則無心義,邏輯不通。spa