더북(TheBook)

catch 블록을 여러 개 나열해서 사용할 수도 있지만, 발생할 것이라고 예상하는 예외가 너무 많다면 어떨까요? 예외가 발생했을 때 각 예외마다 처리해야 하는 코드가 각각 다르다면, catch 블록을 여러 개 만들어 사용해야 합니다. 하지만 대부분의 예외 처리 블록에서는 예외가 발생했다는 정보를 출력하는 정도의 일만 한답니다. 그럴 경우에 상속의 개념을 사용하면 됩니다. 부모 타입은 자식을 가리킬 수 있다고 한 상속의 원칙을 기억하죠?

 

모든 예외 객체는 Exception 클래스를 상속받습니다. 이것은 약속입니다. Exception 클래스를 상속받지 않은 클래스는 예외 클래스가 될 수 없습니다. 즉, 모든 예외 클래스의 조상(부모) 클래스는 Exception입니다. 따라서 다음과 같이 코드를 작성할 수 있습니다.

catch(Exception e) {
    System.out.println("예외 발생"+e.toString());        
}

 

catch 블록의 발생 가능 예외 클래스에 Exception이라고 두면 어떤 예외가 발생해도 하나의 catch 블록으로 모든 예외를 처리할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.