打印异常原因

Dav*_*ion 1 java

我正在编写一个Java程序,并且有一行代码需要一个try...catch语句。问题是代码行总是会落到catch语句部分。我不知道为什么或问题是什么,所以我想将错误的内容打印到屏幕上,以便我可以尝试追踪问题。我怎样才能做到这一点?我可以尝试一下类型变量System.out.println(e)在哪里吗?eException

Ted*_*opp 5

你可以试试:

try {
    . . .
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

编辑(受到Sujan Sivagurunathan 的回答的启发:如果异常可能是次要异常(由于另一个异常而引发的异常),您可以执行此更详细的版本:

try {
    . . .
} catch (Exception e) {
    e.printStackTrace();

    for (Throwable t = e.getCause(); t != null; t = t.getCause()) {
        System.err.println("Caused by:")
        t.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)