import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; public class ExceptionDefaultHandler { private final static String exceptionLogFile = "TextFile/txt/exception.log"; private static boolean hasFile = false; private static void generateLogFile() { File file = new File(exceptionLogFile); if(!file.exists()) { try { file.createNewFile(); } catch(IOException EX) { System.out.println(EX.toString()); } } hasFile = true; } public static void handle(Exception ex) { if(!hasFile) { generateLogFile(); } File file = new File(exceptionLogFile); if(file.canWrite()) { PrintWriter streamWriter = null; try { streamWriter = new PrintWriter(new FileOutputStream(file, true)); streamWriter.write("----------------------------------------------------------------"); streamWriter.write(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); streamWriter.write("----------------------------------------------------------------"); streamWriter.write(SystemProperties.newInstance().getLineSeparator()); ex.printStackTrace(streamWriter); streamWriter.write(SystemProperties.newInstance().getLineSeparator()); streamWriter.close(); } catch(IOException EX) { System.out.println(EX.toString()); } finally { streamWriter.close(); } } else { System.out.println("异常日志文件没有写权限"); } } }