gpt4 book ai didi

java - 将异常写入文件

转载 作者:搜寻专家 更新时间:2023-10-30 19:48:29 26 4
gpt4 key购买 nike

我创建的 java 项目要针对 1800 个案例进行测试,每个案例的输出都必须与黄金(期望)输出相匹配。我为此创建了一个 perl 脚本并在 cygwin 上运行它。

有一些情况会抛出异常,但它们被错误地认为是正确的。我想在 java 代码中添加一个 try catch block ,这样如果抛出任何异常,它就会被捕获,并将堆栈跟踪打印在文件 exception.txt 上。

Pseudo Java code:
main()
{
try
{
... //complete code of main()
}
catch (Exception e)
{
FileWriter fstream=new FileWriter("exception.txt");
BufferedWriter out=new BufferedWriter(fstream);
out.write(e.toString());
out.close();
}
}

但这会覆盖之前的文件内容,最终文件包含最后抛出的异常。我如何编写 catch block 以便打印 stackTrace 并且文件内容完好无损并且不会每次都被覆盖。

最佳答案

改用这个构造函数:

new FileWriter ("exception.txt", true);

描述here .

编辑:根据下面 Jon 的评论:

如果要打印整个堆栈跟踪,请使用 printStackTrace:

fw = new FileWriter ("exception.txt", true);
pw = new PrintWriter (fw);
e.printStackTrace (pw);

此外,在此之后使用适当的 close 调用。

关于java - 将异常写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9923673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com