자바의 정석 - printStackTrace(), 멀티 catch블럭

Yohan·2024년 1월 31일
0

printStackTrace()

  • 예외발생 당시의 호출스택(Call Stack)에 있었던 메서드의 정보와 예외 메시지를 화면에 출력한다.

getMessage()

  • 발생한 예외클래스의 인스턴스에 저장된 메시지를 얻을 수 있다.

  • 예외가 발생 - 예외 객체 생성 - 예외 정보 출력 가능
try {
	System.out.println(0/0);
    ...
} catch (ArithmeticException ae) {
	ae.printStackTrace();
    System.out.println(ae.getMessage());
} catch (Exception e) {
	...
}

멀티 catch블럭

  • 내용이 같은 catch블럭을 하나로 합친 것
try {
	...
} catch (ExceptionA e) {
	e.pritnStackTrace();
} catch (ExceptionB e2) {
	e.pritnStackTrace();
}

// 아래처럼 합칠 수 있음

try {
	...
} catch (ExceptionA | ExceptionB e) {
	e.pritnStackTrace();
}

  • 주의사항
  1. 부모, 자식 관계일 때는 부모만 쓰면됨!
try {
	...
} catch (ParentException | ChildException e) { // 에러!
	e.pritnStackTrace();
}
  1. 서로 공통된 멤버만 사용 가능!
profile
백엔드 개발자

0개의 댓글