JAVA/포스팅

사용자정의 예외

짜집퍼박사(짜박) 2023. 11. 15. 13:29

사용자 정의 예외(또는 커스텀 예외)는 프로그래머가 필요에 따라 직접 만든 예외입니다. 기본적으로 제공되는 예외 클래스들이 어플리케이션에서 발생하는 모든 예외를 다룰 수는 있지만, 때로는 특정한 예외 상황을 잘 표현하기 위해 사용자 정의 예외를 만들어 사용하는 것이 유용할 수 있습니다.

사용자 정의 예외 클래스를 만들기 위해서는 Exception 클래스를 상속받아 새로운 예외 클래스를 작성합니다. 주로 예외의 특정한 세부 정보를 포함하거나 특별한 로직을 추가할 때 사용됩니다.

다음은 간단한 사용자 정의 예외 클래스의 예제입니다.

// 사용자 정의 예외 클래스
class MyCustomException extends Exception {
    // 생성자를 통해 예외 메시지 초기화
    public MyCustomException(String message) {
        super(message);
    }
}

// 예외를 발생시키는 클래스
class ExceptionThrower {
    public void doSomething() throws MyCustomException {
        // 특정 상황에서 예외 발생
        throw new MyCustomException("This is a custom exception!");
    }
}

// 사용자 정의 예외를 처리하는 클래스
public class ExceptionExample {
    public static void main(String[] args) {
        ExceptionThrower thrower = new ExceptionThrower();
        try {
            thrower.doSomething();
        } catch (MyCustomException e) {
            // 사용자 정의 예외 처리
            System.out.println("Caught MyCustomException: " + e.getMessage());
        }
    }
}

이 예제에서 MyCustomException은 Exception 클래스를 상속받아 만들어진 사용자 정의 예외 클래스입니다. 예외가 발생하는 클래스인 ExceptionThrower에서는 doSomething 메서드에서 특정 상황에서 MyCustomException을 발생시킵니다. 그리고 main 메서드에서는 이 예외를 캐치하여 처리하고 있습니다.

사용자 정의 예외를 만들 때 주의할 점

 

- 사용자 정의 예외 클래스는 Exception 클래스를 상속받아야 합니다.
- 예외 클래스는 일반적으로 Exception을 직접 상속받거나, 그보다 더 구체적인 예외 클래스를 상속받아야 합니다.
- 예외 클래스에는 예외를 설명하는 메시지를 포함하는 생성자를 추가할 수 있습니다.

 

사용자 정의 예외는 어플리케이션의 특정 부분에서 발생하는 예외를 명확하게 정의하고, 예외를 발생시킬 때 필요한 정보를 포함시킬 수 있도록 도와줍니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 연결된 예외 (chained exception)  (0) 2023.11.15
자바 예외 되던지기  (0) 2023.11.15
자바 try-with-resources문  (0) 2023.11.15
자바 finally블럭  (0) 2023.11.14
자바 메서드에 예외 선언하기  (0) 2023.11.14