我抓到了一个Throwable错误.
catch (Throwable t){
System.out.println(t.getCause().getMessage());
}
Run Code Online (Sandbox Code Playgroud)
当我在一行上放置断点System.out.并将鼠标悬停在(Eclipse)t变量上时,Eclipse会向我显示原因:java.lang.NoClassDefFoundError: myclass
但是当我发布我正在null寻找的断点时t.getCause().
为什么会这样?我怎样才能得到原因字符串.
更新:
如果我抓住的话也会发生
catch (NoClassDefFoundError e){
}
Run Code Online (Sandbox Code Playgroud)
返回此throwable
null的原因或者原因不存在或未知.(原因是导致抛出此抛掷物的抛掷物.)
所以当你这样做时:
t.getCause().getMessage()
Run Code Online (Sandbox Code Playgroud)
这就像写作:
null.getMessage()
Run Code Online (Sandbox Code Playgroud)
这当然是导致的NullPointerException.
你可以简单地做:
catch (NoClassDefFoundError e){
System.out.println(e.getMessage);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3656 次 |
| 最近记录: |