[英]How do I write exceptions to a text file? (JAVA)
我应该使用 Scanner 从文件“input.txt”中读取 int 值,读取直到到达文件末尾,将所有程序输出写入文件“output.txt”,将所有异常写入文件“error.txt” ”,并输出读取的每个数字。
我大部分都了解异常,但我不明白如何用 Java 将所有异常写入文本文件...
就像我在评论中写的那样,写一个try ... catch
块,在其中使用Printwriter
将异常写入File
Printwriter
。 例如:
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.ArrayIndexOutOfBoundsException: 10
您可以通过执行打印整个Stack Trace
e.printStackTrace(writer);
非常重要的是您不要忘记关闭PrintWriter
否则您的文件将不会被打印到。 完成写入文件后,关闭:
writer.close();
使用 log4j 进行日志记录,
另外,在错误级别配置它以将错误打印到不同的文件中。
从您的 Java 代码中,写在下面的行会将整个堆栈跟踪打印到日志文件。
commons-logging, it's use likewise:
log.error("Message", exception);
所有异常都有一个方法: getMessage()
,它将异常作为字符串返回。 此外,所有 Java 类都应该拥有的toString()
提供了更多信息,因为它还调用了getMessage()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.