我发现Throwable
错误。
catch (Throwable t){
System.out.println(t.getCause().getMessage());
}
当我在一行[{1}}上放置断点并将鼠标悬停在({Eclipse)System.out.
变量上时,Eclipse会向我显示原因:t
但是当我发布断点时,我java.lang.NoClassDefFoundError: myclass
获得了null
。
为什么会这样?我怎样才能获得原因字符串。
更新
如果我抓住
,也会发生同样的情况t.getCause()
答案 0 :(得分:5)
如果原因是,则返回此throwable的原因或
null
不存在或未知。 (原因是造成这种情况的抛弃物 扔掉扔掉。)
所以当你这样做时:
t.getCause().getMessage()
就像写作:
null.getMessage()
当然会导致NullPointerException
。
您可以这样做:
catch (NoClassDefFoundError e){
System.out.println(e.getMessage);
}