Ch8-7~8. 멀티 catch블럭
0. 목차
Chapter8. 예외처리
Ch8 - 7. printStackTrace()와 getMessage()
Ch8 - 8. 멀티 catch블럭
Ch8 - 7. printStackTrace()와 getMessage()
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); // 실행X
} catch (ArithmeticException ae) {
ae.printStackTrace();
System.out.println("예외메시지 : " + ae.getMessage());
} // try-catch의 끝
System.out.println(6);
} // main메서드의 끝
}
// console
1
2
3
java.lang.ArithmeticException: / by zero
at Ex8_5.main(Ex8_5.java:8)
예외메시지 : / by zero
6
▶ printStackTrace() 메서드란?
▷ 예외 발생 시, 호출 스택에 있는 메서드의 정보와 예외 메세지를 화면에 출력
java.lang.ArithmeticException: / by zero
at Ex8_5.main(Ex8_5.java:8)
▶ getMessage() 메서드란?
▷ 발생한 예외 클래스의 인스턴스에 저장된 메세지를 get
by zero
Ch8 - 8. 멀티 catch블럭
▶ 멀티 catch블럭이란?
▷ 내용이 같은 catch블럭을 하나로 합친 것
▷ JDK1.7부터
▶ 주의
▷ 부모 자식 관계는 멀티 catch블럭 사용 → 에러
- 부모-자식 멀티 catch블럭 = ERROR
class ExceptionA extends ExceptionB e { } try { ... } catch (ExceptionA | ExceptionB e) { // ERROR! e.printStackTrace(); }
- 부모만 catch블럭 = OK
class ExceptionA extends ExceptionB e { } try { ... } catch (ExceptionA e) { // OK e.printStackTrace(); }