본문 바로가기

Java 오류 & 개발/Java 기본 문법 & 오류

[Java 기본 문법 & 오류] CheckedException vs UncheckedException 차이점 및 활용법

CheckedException vs UncheckedException 차이점 및 활용법

1. 예외(Exception)란?

Java에서 예외(Exception)는 프로그램 실행 중에 발생할 수 있는 **비정상적인 상황**을 의미합니다. 예외 처리를 올바르게 하지 않으면 프로그램이 갑자기 종료될 수 있기 때문에, 예외를 적절히 처리하는 것이 중요합니다.

2. CheckedException vs UncheckedException 차이

구분 CheckedException UncheckedException
정의 컴파일 타임에 체크되는 예외 실행 중(Runtime) 발생하는 예외
대표 예외 IOException, SQLException NullPointerException, ArithmeticException
예외 처리 방식 try-catch 또는 throws 필수 예외 처리를 강제하지 않음

3. CheckedException 예제


import java.io.*;

public class CheckedExceptionExample {
    public static void main(String[] args) {
        try {
            FileReader file = new FileReader("test.txt");
            BufferedReader reader = new BufferedReader(file);
            System.out.println(reader.readLine());
            reader.close();
        } catch (IOException e) {
            System.out.println("파일을 찾을 수 없습니다: " + e.getMessage());
        }
    }
}

4. UncheckedException 예제


public class UncheckedExceptionExample {
    public static void main(String[] args) {
        String text = null;
        System.out.println(text.length()); // NullPointerException 발생
    }
}

5. 언제 CheckedException과 UncheckedException을 사용해야 할까?

  • CheckedException: 파일 입출력, 데이터베이스 연결처럼 반드시 예외 처리가 필요한 경우
  • UncheckedException: 프로그래머의 실수로 발생할 가능성이 높은 경우 (ex: NPE, IndexOutOfBoundsException)

📌 더 많은 Java 예외 처리 방법이 궁금하다면?

Java 예외 처리 가이드도 함께 확인해보세요!