如何在外部文件上打印异常Android的堆栈跟踪?

时间:2017-05-08 16:39:52

标签: java android stack-trace

我想打印堆栈(在异常块中出现错误,try catch),但我想在外部文件(.txt)中打印所有文件,我可以在android文件夹中的某处。

提前致谢

4 个答案:

答案 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();
}