这是因为
printStackTrace写入
System.err时
System.out.println写入
System.out。即使两个
System.err和
System.out用于输出消息的相同底层资源(例如相同的文件或同一控制台),它们冲洗在不同的时刻。
如果要获得 同步 输出,请 同时 输入以下异常
System.out:
e.printStackTrace(System.out);
甚至更好的是,使用记录器,该记录器已经将输出同步到共享资源中,并为您提供了有关消息中正在输出的内容的更多选项,例如类,方法,日期和时间,线程名等,以及诸如编写日志消息之类的其他好处。在数据库中而不是文本文件中,然后打开。



