예외처리 동작 흐름:
public static void main(String[] args) {
OurClass ourClass = new OurClass();
try{
ourClass.thisMethodIsDangerous();
}catch (OurBadException e){
System.out.println(e.getMessage());
}finally {
System.out.println("예외 handling 완료");
}
}
OurClass
객체 생성.thisMethodIsDangerous
메서드 호출 시도.OurBadException
예외 발생 시 해당 예외를 catch
블록에서 처리.OurBadException
의 getMessage
메서드 호출로 예외 메시지 출력.finally
블록 실행: "예외 handling 완료" 출력.OurBadException
예외 클래스 동작:
public OurBadException(){
super("위험한 행동 예외 처리");
}
OurBadException
생성자 호출 시 부모 클래스인 Exception
의 생성자에 "위험한 행동 예외 처리" 문자열 전달.OurBadException
객체 메모리에 할당.throw
키워드로 OurBadException
객체 던짐.catch
블록에서 처리하거나, 처리되지 않을 경우 상위 호출 스택으로 전파됨.