我想打印堆栈(在异常块中出现错误,try catch
),但我想在外部文件(.txt)中打印所有文件,我可以在android文件夹中的某处。
提前致谢
答案 0 :(得分:0)
打开/声明PrintWriter
以写入您的文件并将catch块更改为:
catch(Exception e) {
e.printStackTrace(your_print_writer);
}
答案 1 :(得分:0)
嗯,这可能是一个问题,但它完全可行:
try {
badMethod();
} catch(SomeException e) {
try (FileWriter writer = new FileWriter("file.txt")) {
e.printStackTrace(writer);
} catch(IOException ioexception) {
// do something here
}
}
答案 2 :(得分:0)
有很多方法可以做到这一点,但最简单的方法是将System.err重定向到您想要的文件然后只需调用Exception.printStackTrace();
重定向标准错误输出:
PrintStream ps = new PrintStream("./errors.txt");
System.setErr(ps);
然后......
catch(Exception e) {
e.printStackTrace();
}
答案 3 :(得分:-1)
你可以这样做:
try{
// action
} catch (IOException e) {
PrintWriter writer = new PrintWriter("stacktrace.txt");
e.printStackTrace(writer);
writer.close();
}