// Custom Exception
// - 커스텀 예외 클래스를 만들면 특정 예외 상황을 더 명확하게 표현할 수 있고,
// - 프로그램 로직에서 예외 처리를 개선할 수 있습니다. 이를 통해 예외 처리의 가독성과 디버깅이 향상됩니다.
// 생성 방법
// 1. 예외 클래스 작성: 커스텀 예외 클래스를 작성합니다.
// 이 클래스는 Exception 클래스를 상속하여 일반적인 예외 클래스의 특성을 물려받을 수 있습니다.
class CustomException extends Exception {
// 생성자, 필드, 메서드 등을 정의할 수 있음
int a;
// 2. 생성자 정의: 커스텀 예외 클래스에 생성자를 추가하여 예외 객체를 초기화합니다.
// 생성자 내에서는 super()를 사용하여 상위 클래스의 생성자를 호출할 수 있다
// 안쪽코드는 일반적으로 작성 X
public CustomException(String message) {
super(message);
}
// message 문자열은 예외에 대한 설명을 담고 있으며, 필요한 경우 예외 객체를 생성할 때 전달할 수 있습니다.
// 3. 예외 던지기:
// 커스텀 예외 클래스를 사용하여 예외를 발생시킬 수 있는 상황에서
// throw 키워드를 사용하여 예외 객체를 생성하고 던집니다.
public static int plus(int a, int b) throws CustomException {
// 예외 발생 조건을 검사하고
if(a % 2 == 0) {
throw new CustomException("짝수면 안됩니다");
} // 예외 발생하지 않는 경우 다른 작업 수행
return a+b;
}
// 4. 예외 처리:
// 예외를 발생시킨 메서드를 호출하는 코드에서 커스텀 예외를 처리합니다.
// 이는 try-catch 블록을 사용하여 수행됩니다.
CustomException a1 = new CustomException("a가 짝수면 안돼");
try {
int result = a1.plus(4, 3);
System.out.println(result);
// 커스텀 예외를 발생시킬 수 있는 메서드 호출
} catch (CustomException e) {
// 커스텀 예외 처리
System.out.println("커스텀 예외가 발생했습니다: " + e.getMessage());
}
'JAVA > DAY 19 _ 23.09.12' 카테고리의 다른 글
Unchecked Exception (0) | 2023.09.12 |
---|---|
Checked exception (0) | 2023.09.12 |
Try Catch (0) | 2023.09.12 |
Exception Basic (0) | 2023.09.12 |
Set summary (0) | 2023.09.12 |