Java 不使用try-catch块打印堆栈跟踪

Java 不使用try-catch块打印堆栈跟踪,java,junit,stack-trace,Java,Junit,Stack Trace,因此,我有一个selenium测试,我想在测试失败时将堆栈跟踪打印到一个新的.txt文件中,但我想在不使用try-catch块的情况下完成此测试,因为我希望代码行“JUnit.runClasses(Myclass.class)”在运行时返回false,同时也将堆栈跟踪打印到文本文件中。有人知道我怎样才能做到这一点吗 谢谢将当前堆栈打印为标准错误 还有其他Thread方法可以返回堆栈详细信息,请通读API页面。如果希望将所有方法调用打印到文件中,则以下方法可能是您想要的: PrintWri

因此,我有一个selenium测试,我想在测试失败时将堆栈跟踪打印到一个新的.txt文件中,但我想在不使用try-catch块的情况下完成此测试,因为我希望代码行“JUnit.runClasses(Myclass.class)”在运行时返回false,同时也将堆栈跟踪打印到文本文件中。有人知道我怎样才能做到这一点吗

谢谢

将当前堆栈打印为标准错误


还有其他
Thread
方法可以返回堆栈详细信息,请通读API页面。

如果希望将所有方法调用打印到文件中,则以下方法可能是您想要的:

    PrintWriter writer = null;
    try {
        writer = new PrintWriter("file.txt");
    } catch (Exception e) {
    }

    StackTraceElement[] e = Thread.currentThread().getStackTrace();
    for (StackTraceElement element : e) {
        writer.println(element.toString());
    }
    writer.close();
除非输出文件出现问题,否则不会抛出异常,因此该方法仍会在您描述的场景中返回