printStackTrace()와 getMessage() 메서드

mingseok·2022년 5월 15일
0

예외처리

목록 보기
4/7

printStackTrace예외발생 당시에 호출스택에 있었던 메서드의 정보와 예외 메세지를 화면에 출력한다.
getMessage발생한 예외클래스의 인스턴스에 저장된 메세지를 얻을 수 있다.

예제

비정상적으로 종료되었을 때의 결과와 비슷하지만 예외는 try-catch문에 의해 처리 되었으며,
프로그램은 정상적으로 종료되었다.


정보와 예외 메세지를 출력하였다.


예외처리를 하여 예외가 발생해도 비정상적으로 종료하지 않도록 해주는 동시에,
printStackTrace() 또는 getMessage() 와 같은 메서드를 통해서 예외의 발생원인을 알 수 있다.

class aaaa {
	public static void main(String args[]) {
		System.out.println(1);
		System.out.println(2);
		try {
			System.out.println(3);
			System.out.println(0 / 0); // 예외발생!!!
			System.out.println(4); // 실행되지 않는다.
			
		} catch (ArithmeticException ae) {
			ae.printStackTrace(); // 참조변수 ae를 통해, 생성된 ArithmeticException 인스턴스에 접근할 수 있다.
			System.out.println("예외메시지 : " + ae.getMessage());
			
		} // try-catch의 끝
		System.out.println(6);
	} // main메서드의 끝
}

출력값.
1
2
3
java.lang.ArithmeticException: / by zero
	at ddd.aaaa.main(aaaa.java:9)
예외메시지 : / by zero
6

Reference
남궁 성 지음, 『자바의 정석』, 도우출판.

profile
블로그 이사 했습니다.

0개의 댓글