/** * 将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