(JAVA) 예외처리 자세히 알아보기 2

2024. 9. 19. 16:44·JAVA

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
'JAVA' 카테고리의 다른 글
  • (JAVA) 접근 제어자와 오버라이드 개념
  • (JAVA) 기본형 & 참조형 매개변수, 인스턴스 멤버와 클래스 멤버
  • (JAVA) 객체지향 이해하기
  • (JAVA) 자료구조를 활용한 요리 레시피 메모장 만들기
lastdove
lastdove
lastdove 님의 블로그 입니다.
  • lastdove
    lastdove 님의 블로그
    lastdove
  • 전체
    오늘
    어제
    • 분류 전체보기 (80)
      • Spring (16)
      • JAVA (17)
      • JAVA 알고리즘 (20)
      • Project (5)
      • SQL 문제풀이 (17)
      • Git&Linux (2)
      • Web development(입문) (2)
      • Sparta (1)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
lastdove
(JAVA) 예외처리 자세히 알아보기 2
상단으로

티스토리툴바