Java 如何将异常写入文本文件?(爪哇)
我应该使用Scanner从文件“input.txt”读取int值,读取直到到达文件末尾,将所有程序输出写入文件“output.txt”,将所有异常写入文件“error.txt”,并输出读取的每个数字 我大部分都理解异常,但我不知道如何用Java将所有异常写入文本文件 使用log4j进行记录 另外,在错误级别配置它,以便将错误打印到不同的文件中 文件 从java代码中,在下面的行中写入将打印整个堆栈跟踪到 日志文件Java 如何将异常写入文本文件?(爪哇),java,exception,io,Java,Exception,Io,我应该使用Scanner从文件“input.txt”读取int值,读取直到到达文件末尾,将所有程序输出写入文件“output.txt”,将所有异常写入文件“error.txt”,并输出读取的每个数字 我大部分都理解异常,但我不知道如何用Java将所有异常写入文本文件 使用log4j进行记录 另外,在错误级别配置它,以便将错误打印到不同的文件中 文件 从java代码中,在下面的行中写入将打印整个堆栈跟踪到 日志文件 所有异常都有一个方法:getMessage(),该方法将以字符串形式返回异常。另外
所有异常都有一个方法:
getMessage()
,该方法将以字符串形式返回异常。另外,toString()
(所有Java类都应该有)提供了更多的信息,因为它也调用getMessage()
,就像我在评论中写的那样,写一个试试。。。catch
块,使用Printwriter
将异常写入文件
error.txt。
例如:
PrintWriter writer = new PrintWriter("error.txt");
try {
//Code to try goes here
} catch (Exception e) {
//You've got an exception. Now print it to error.txt
writer.write(e.toString());
}
您可以使用以下简单的方法进行测试:
PrintWriter writer = new PrintWriter("error.txt");
int[] i = new int[1];
try {
i[10] = 2;
} catch (Exception e) {
writer.write(e.toString());
}
这将导致error.txt被填充为:
java.lang.ArrayIndexOutofBounds异常:10
您可以通过执行以下操作打印整个堆栈跟踪
e.printStackTrace(writer);
非常重要请不要忘记关闭PrintWriter
,否则您的文件将无法打印到。完成对文件的写入后,使用以下命令关闭:
writer.close();
写一个
试试。。。catch
块,使用Printwriter
将异常写入文件error.txt
。更多关于Printwriter的信息,请点击这里:哦,我甚至没有那样想!非常感谢。我在下面详细解释了。干杯
writer.close();