有沒有遇到過Exception e getMessage()為null情況;如下,獲取message為null。


在Exception的父類Throwable中,有getMessage方法,該方法其實返回的就是detailMessage,從上圖看出,detailMessage為null,那通過getMessage方法當然就取不到值了。


當然從第一個圖中已然發下,e1其實是InvocationTagetException類型,查看InvocationTargetException 的源碼得知InvocationTargetException 並沒有覆蓋getMessage方法,所以消息當然是空的了。我們需要調用InvocationTargetException 的getTargetException方法得到要被包裝的異常,這個異常才是真正我們需要的異常;可采用以下方法得到;

