[TIL] Java. 사용자 정의 예외

정석·2024년 7월 26일

TIL

목록 보기
5/40
post-thumbnail

사용자 예외 처리는 무조건 '실행 중간에 생기는 오류' 에 대한 예외 처리를 하는 것이기에 RuntimeException 을 사용한다 !!

checked

  • 사용자가 예외를 해결할 수 있는 경우 기회를 주며 예외처리를 강제 한다.
  • Exception 을 상속 받아 사용한다.
    ex) fileNotFound

unchecked

  • 사용자가 예외를 해결할 수 없는 상황일 때 사용하여 프로그램을 종료한다.
  • RuntimeException 을 상속 받아 사용한다.
    ex) ArrayIndexOutOfBoundsException

예시로 들기 위해 '0' 으로 나눌 때 발생하는 예외를 사용자 예외 처리를 만들어 처리해보자.

  • Calculator.java
class DivideException extends RuntimeException {
    // 0으로 나눌 때 예외 처리
    DivideException(String message) {
        super(message);
    }
}

사용자 예외 처리 클래스를 만들기 위해선 Exception 클래스를 상속 받아 위와 같이 만든다.
해당 클래스 안에서 어떻게 예외 처리를 할 건지 메서드를 생성해주면 된다.

  • main.java
try {
	  calculator.calculate(firstNum, secondNum, signal);
    } catch (DivideException e) {
      System.out.println(e.getMessage());
    }

만약, calculaotr 클래스 내의 calculate 메서드 내에서 사칙연산이 수행 된다고 가정하자.
secondNum0 이 들어와서 예외가 발생할 때 catch 문에서 예외가 잡히고 메시지를 출력하며 처리한다.

0개의 댓글