在我们每次抛出异常时都是将异常打印到控制台,可是如何将抛出的异常打印到文件中呢?
printStackTrace()抛出的异常输出到标准错误流(err)(控制台)!
使用prinStackTrace()的重载方法将异常打印到文件(打印输出流)中
printStackTreace(PrintStream ps);或者使用字符打印输出流printStackTreace(PrinttWriter pw);
以上两种方法都可以将抛出的异常打印指输出流指定的目标文件中
因为两种一种是打印字节,一种是打印字符,在这里使用字符打印输出流演示下
1 在这里我使用mkdirs()在d盘创建了一个空文件,
将两个输出流都关联到这个文件中。
2 PrintWriter会在这个空文件中自动创建一个Exception文件,并且我设置了自动添加到末尾
3 当程序运行走到字节缓冲输出流的时候,它指定的是一个空目录,并不是文件,会抛出异常
4 因为是使用了重载的PrintStackTrace(PrintWriter pw)方法,所以异常将不会在打印到控制台中,会打印到字符打印输出流中。
5 我运行程序多次后的打印结果