有没有遇到过Exception e getMessage()为null情况;如下,获取message为null。
在Exception的父类Throwable中,有getMessage方法,该方法其实返回的就是detailMessage,从上图看出,detailMessage为null,那通过getMessage方法当然就取不到值了。
当然从第一个图中已然发下,e1其实是InvocationTagetException类型,查看InvocationTargetException 的源码得知InvocationTargetException 并没有覆盖getMessage方法,所以消息当然是空的了。我们需要调用InvocationTargetException 的getTargetException方法得到要被包装的异常,这个异常才是真正我们需要的异常;可采用以下方法得到;
时间: 2024-10-20 11:19:30