-
자바의정석 Exception 예외처리, printStackTrace() (Ex8~Java/자바의정석 2023. 2. 21. 15:39반응형
class Ex8_5 { 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) { //-printStackTrace() : 예외발생 당시 호출스택에 있었던 메서드의 정보와 예외 메세지를 화면에 출력한다 ae.printStackTrace(); //-getMessage() : 발생한 예외 클래스의 인스턴스에 저장된 메시지를 얻을 수 있다 System.out.println("에러메시지는: " + ae.getMessage()); } System.out.println(6); } // main종료 }
=============실행결과==============
1
2
3
java.lang.ArithmeticException: / by zero at Chap08.Ex8_5.main(Ex8_5.java:10)
에러메시지는: / by zero
6
앞선 게시글에서 예외처리에대해 아주 간단하게 학습을했다. 이번엔 예제로 확인을 해보자.
main메서드가 실행됨으로
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) { //-printStackTrace() : 예외발생 당시 호출스택에 있었던 메서드의 정보와 예외 메세지를 화면에 출력한다 ae.printStackTrace(); //-getMessage() : 발생한 예외 클래스의 인스턴스에 저장된 메시지를 얻을 수 있다 System.out.println("에러메시지는: " + ae.getMessage()); }
try 내부 실행도중 System.out.println(0/0)부분에서 ArithmeticException이 발생한다.
에러가 발생된다면 에러가 발생된 시점에 바로 catch문으로 이동한다.
해당 에러를 catch문에서 ArithmeticException참조형의 ae참조변수를 넘겨받아 예외를 처리한다.
printStackTrace() : 예외발생 당시 호출스택에 있었던 메서드의 정보와 예외 메시지를 화면에 출력한다.
해당 메서드로 전달받은 에러메시지를 이용하여 해당 에러에대한 메시지를 불러온다.
반응형'Java > 자바의정석' 카테고리의 다른 글
자바 equals()는 대체 왜 쓰는가...? (0) 2023.02.22 자바의정석 8장 예외처리, 예외던지 (1) 2023.02.22 JAVA Exception 예외처리 간단 명료 정리!! (0) 2023.02.21 자바의정석 Ex7_11 인터페이스 (0) 2023.02.21 자바의정석 Ex7_10 추상 클래스, 추상 메서드 (0) 2023.02.21