所以我有一个selenium测试,我想在测试失败时将堆栈跟踪打印到一个新的.txt文件但我想完成这个没有使用try catch块因为我想要代码行" JUnit.runClasses(Myclass.class)"当我运行它时返回false,还将stacktrace打印到文本文件。任何人都知道如何才能做到这一点?
由于
答案 0 :(得分:0)
Thread.dumpStack()
将当前堆栈打印为标准错误。
还有其他Thread
方法可以返回堆栈详细信息,请阅读API页面。
答案 1 :(得分:0)
如果您希望将所有方法调用打印到文件中,则可能符合以下要求:
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();
除非输出文件存在某些问题,否则不会抛出异常,因此该方法仍会在您描述的方案中返回。