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