package chapter20230907.Exception;
import java.io.FileOutputStream;
import java.io.PrintStream;
public class ExceptionTest06 {
public static void main(String[] args) {
PrintStream ps = null; // 파일 error.log에 출력할 준비
FileOutputStream fos = null; // 파일 저장을 위해
try {
fos = new FileOutputStream("./output_file/error.log");
ps = new PrintStream(fos);
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(0/0); // 예외발생
System.out.println(4); // 실행되지 않는다
}
catch (Exception ae) {
ae.printStackTrace(ps);
ps.println("예외 메시지 : " + ae.getMessage()); // 화면대신 error.log파일에 출력한다
} // try-catch의 끝
System.out.println(6);
}
}
package chapter20230907.Exception;
import java.util.*;
import java.io.FileOutputStream;
import java.io.PrintStream;
public class ExceptionTest07 {
public static void main(String[] args) {
PrintStream ps = null; // 파일 error.log에 출력할 준비
FileOutputStream fos = null; // 파일 저장을 위해
try {
fos = new FileOutputStream("./output_file/error.log", true); // error.log 파일에 출력할 준비를, true - 에러 발생할때마다 덮어쓰지않고 밑에 추가로 작성
ps = new PrintStream(fos); // err의 출력을 화면이 아닌, error.log파일로 변경한다
System.setErr(ps); // ps로 에러로그를 출력함
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(0/0); // 예외발생
System.out.println(4); // 실행되지 않는다
}
catch (Exception ae) {
System.err.println("------------------------------------------------"); // err로 에러 기록을 error.log 파일에 출력
System.err.println("예외 발생시간 : " + new Date()); // 현재시간출력
ae.printStackTrace(System.err);
System.err.println("예외 메시지 : " + ae.getMessage()); // 현재시간출력
System.err.println("------------------------------------------------");
} // try-catch의 끝
System.out.println(6);
}
}