Chained Exception 예외 처리 방법
Chained Exception (연결)
- 정의 : 예외가 다른 예외를 유발할 수 있는 경우, 원인 예외를 새로운 예외에 등록한 후, 새로운 예외를 발생시키는 방법을 Chained Exception이라고 합니다.
- 목적 : 여러 가지 예외를 하나의 큰 분류의 예외로 묶어서 처리하기 위함입니다.
- 주요 메소드
initCause(Throwable cause)
: 지정한 예외를 원인 예외로 등록합니다.getCause()
: 원인 예외를 반환합니다.
예제 코드
public class ChainedExceptionExample {
public static void main(String[] args) {
try {
method1();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void method1() throws Exception {
try {
method2();
} catch (IllegalArgumentException e) {
// Chaining the exception
throw new Exception("Exception in method1", e);
}
}
public static void method2() throws IllegalArgumentException {
throw new IllegalArgumentException("Exception in method2");
}
}
예외 복구 + 처리 회피 + 전환
예외 복구
- 정의 : 예외가 발생한 후 이를 처리하여 프로그램의 정상적인 흐름을 회복하는 방법입니다.
예시
try {
// 코드 실행
} catch (Exception e) {
// 예외 복구
e.printStackTrace();
}
처리 회피
- 정의 : 예외를 무시하고 처리하지 않는 방법입니다. 이 경우 예외가 발생하면 프로그램이 종료되거나 오류가 발생할 수 있습니다.
예시
try {
// 코드 실행
} catch (Exception e) {
// 예외 회피
// 아무 동작도 하지 않음
}
예외 전환
- 정의 : 발생한 예외를 다른 예외로 변환하여 처리하는 방법입니다.
예시
try {
// 코드 실행
} catch (IOException e) {
throw new RuntimeException("IOException occurred", e);
}
주요 사항
- 예외를 연결하는 이유 - 다양한 예외를 하나의 큰 분류로 묶어서 관리할 수 있습니다.
- checked exception - 정의하고 알릴 때 예외 처리를 적절히 하지 않으면 컴파일 에러가 발생합니다.
TIP & 정리
- Chained Exception은 예외가 연쇄적으로 발생하는 상황에서 유용하게 사용될 수 있고, 이를 통해 예외의 발생 원인을 추적하고 디버깅을 용이하게 할 수 있습니다.
- 예외 처리에서 중요한 것은 각 예외를 적절히 관리하는 것, 이를 통해 안정적인 프로그램을 개발할 수 있습니다.
- 예외 처리 로직을 설계할 때는 예외가 발생할 수 있는 모든 상황을 고려하고, 적절한 예외 복구 및 전환 전략을 세우는 것이 좋다고 생각합니다. 또한, 예외를 처리할 때에는 항상 가능한 원인 예외를 기록하고 분석하여 문제를 해결하는 데 도움이 되도록 해야겠다고 느꼈습니다.
'JAVA' 카테고리의 다른 글
(JAVA) 접근 제어자와 오버라이드 개념 (0) | 2024.09.20 |
---|---|
(JAVA) 기본형 & 참조형 매개변수, 인스턴스 멤버와 클래스 멤버 (0) | 2024.09.20 |
(JAVA) 객체지향 이해하기 (0) | 2024.09.19 |
(JAVA) 자료구조를 활용한 요리 레시피 메모장 만들기 (0) | 2024.09.14 |
(JAVA) 컬렉션 프레임워크 정리하기 (0) | 2024.09.14 |