Java - 사용자 정의 예외 만들기, 예외 되던지기

춤추는개발자·2022년 11월 26일
0

Java 정리

목록 보기
26/59

사용자 정의 예외 만들기

  • 직접 예외 클래스를 정의할 수 있다.
  • 조상은 Exception과 RuntimeException중에서 선택
    • Exception : 사용자가 발생시키는 예외 (필수처리, try-catch 의무 사용)
    • RuntimeException : 프로그래머의 실수로 발생 (필수처리 아님, try-catch 선택 사용)
  • 사용자가 만든 예외 클래스에도 생성시에 string 값을 받아서 메세지로 저장하고 싶다면 string 매개변수가 있는 생성자를 넣어준다.

예외 되던지기

  • 예외를 처리한 후에 다시 예외를 발생시키는 것
  • 한 메서드에서 발생할 수 있는 예외가 여럿인 경우 몇개는 try-catch문을 통해서 메서드 내에서 자체적으로 처리하고 나머지는 선언부에 지정하여 호출한 메서드에서 처리하도록 함으로써 양쪽에 나눠 예외를 처리할 수 있다. 예외 되던지기는 하나의 예외를 호출한 메서드와 호출된 메서드 양쪽 모두에서 예외처리하는 것을 말한다. (예외를 처리한 후에 인위적으로 예외를 다시 발생 시킨다.)
  • 예외 되던지기는 하나의 예외에 대해서 예외가 발생한 메서드와 이를 초출한 메서드 양쪽 모두에서 처리해줘야 할 작업이 있을 때 사용된다.
  • 아래의 java 코드로 좀 더 알아보자.
class JavaExercise_52 {
    public static void main(String[] args) { // 예외 되던지기, 예외를 처리한 후 다시 예외를 발생시켜 호출한 메서드로 예외 넘겨주기
        try {
            method();
        } catch (Exception e){
            System.out.println("main 함수에서 예외를 처리 하였습니다.");
        }
    }
    static void method() throws Exception{
        try {
            throw new Exception();
        } catch (Exception e){
            System.out.println("method() 내에서 예외를 처리 하였습니다.");
            throw e;
        }
    }
}
출력 결과 :
method() 내에서 예외를 처리 하였습니다.
main 함수에서 예외를 처리 하였습니다.

위의 코드와 출력 결과를 보면 method() 가 호출되어 예외가 발생해 catch문으로 예외를 처리하고 다시 예외를 method()를 호출한 main 메서드에 넘겨줘 main 메서드 내에서 예외 처리를 하는 것을 확인할 수 있다.

0개의 댓글