Java에서의 예외 처리 사용법

Java 문법

초급 난이도
문법 타입
10/21 등록일

Java에서의 예외 처리 사용법

초급
태그
기초 문법 예외처리 엔터프라이즈 Java
## 개요
예외 처리는 프로그램 실행 중 발생하는 오류를 잡아내고 적절히 처리하는 기능입니다. 엔터프라이즈 애플리케이션에서는 데이터베이스 연결 실패, 파일 읽기 오류 등 예상치 못한 상황을 관리해야 하므로 필수적인 문법입니다.

## 주요 특징
- try-catch 블록으로 예외를 감싸고 처리
- finally 블록은 예외 발생 여부와 관계없이 반드시 실행됨
- throws/throw 키워드로 예외 전파 가능
- 체크 예외(checked exception)는 컴파일러가 강제로 처리하도록 함

## 사용법
```java
public void readFile(String filePath) {
try {
FileReader file = new FileReader(filePath);
// 파일 읽기 로직
} catch (IOException e) {
System.err.println("파일 읽기 오류: " + e.getMessage());
} finally {
System.out.println("자원 정리 완료");
}
}
```
- try 블록 안에서 예외 발생 시 catch 블록 실행
- finally는 항상 실행되므로 자원 해제에 적합
- throws 키워드로 메서드가 예외를 던질 수 있음을 선언

## 주의사항
- unchecked exception(예: NullPointerException)은 컴파일러 강제 처리 없이 사용 가능
- 체크 예외는 반드시 try-catch 또는 throws로 처리해야 함
- finally 블록에서 return 문을 사용할 경우, catch 블록의 return보다 우선 실행됨
- 단순히 예외를 던지는 대신, 적절한 메시지와 로그를 기록하는 것이 좋음

## 관련 문법
- Java 8 이상의 try-with-resources 구문으로 자동 리소스 관리 가능
- Android 앱 개발 시 IOException, SQLiteException 등 특화된 예외 처리 필요
- 스레드에서 발생한 예외는 Thread.UncaughtExceptionHandler로 처리
코드 예제
public class FileHandler {
    public void processFile(String path) throws IOException {
        try (FileInputStream fis = new FileInputStream(path)) {
            int data;
            while ((data = fis.read()) != -1) {
                System.out.print((char) data);
            }
        } catch (IOException e) {
            System.err.println("파일 처리 중 오류: " + e.getMessage());
            throw e; // 체크 예외 전파
        } finally {
            System.out.println("모든 작업 완료");
        }
    }
}
등록일: 2025년 10월 21일 02:33
언어 정보
언어
Java
카테고리
Enterprise
인기도
#3
학습 팁
코드를 직접 실행해보세요
변수를 바꿔가며 실험해보세요
오류가 나도 포기하지 마세요
다른 예제도 찾아보세요