자바의 예외 처리(Exception Handling)는 프로그램 실행 중 발생할 수 있는 에러를 처리하기 위한 기능입니다. 자바에서 예외 처리는 try-catch 블록을 사용하여 처리되며, 이 글에서는 자바의 예외 처리에 대해 더 자세히 살펴보고, 예제 코드를 통해 기능을 이해해 보겠습니다.
1. 자바 예외 처리의 개념 및 종류
자바에서는 두 가지 주요 예외 유형이 있습니다.
- 확인된 예외 (Checked Exception)
RuntimeException 클래스를 상속하지 않는 클래스로, 명시적으로 예외 처리를 하지 않으면 컴파일러가 에러를 발생시킵니다. - 확인되지 않은 예외 (Unchecked Exception)
RuntimeException 클래스를 상속하는 클래스로, 명시적으로 처리하지 않아도 컴파일러가 에러를 발생시키지 않습니다.
2. 자바 예외 처리 구현 및 사용
자바 예외 처리를 구현하고 사용하기 위해서는 다음과 같은 과정들을 거칩니다.
- try 블록: 예외가 발생할 가능성이 있는 코드를 실행합니다.
- catch 블록: 발생한 예외를 처리합니다.
- finally 블록 (선택사항): 예외 발생 여부와 상관없이 실행되는 코드 블록입니다.
예제로 설명하면 아래와 같습니다.
// 예외 처리 예제
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
public class Main {
public static void main(String[] args) {
try {
File file = new File("input.txt");
FileReader fr = new FileReader(file);
// 파일을 읽는 코드
} catch (FileNotFoundException e) {
System.out.println("파일을 찾을 수 없습니다: " + e.getMessage());
} finally {
System.out.println("예외 처리 종료");
}
}
}
위 예제에서는 'input.txt' 파일을 읽으려고 시도하고, FileNotFoundException을 catch하여 처리합니다. 마지막으로 finally 절이 실행됩니다.
3. 자바 예외 처리 다중이 예제
여러 예외를 처리할 경우 다음과 같이 작성할 수 있습니다.
// 다중 예외 처리 예제
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
File file = new File("input.txt");
FileReader fr = new FileReader(file);
// 파일을 읽는 코드
} catch (FileNotFoundException e) {
System.out.println("파일을 찾을 수 없습니다: " + e.getMessage());
} catch (IOException e) {
System.out.println("파일을 읽을 수 없습니다: " + e.getMessage());
} finally {
System.out.println("예외 처리 종료");
}
}
}
이 예제에서는 FileNotFoundException 외에 IOException도 처리하는 방법을 보여줍니다. 각각의 catch 절에서 발생한 예외를 처리할 수 있습니다.
4. 사용자 정의 예외 처리
사용자 정의 예외를 생성하려면 Exception 클래스를 상속받아 작성할 수 있습니다. 사용자 정의 예외를 사용하면 프로그램의 상황에 맞추어 적절한 예외 처리를 할 수 있습니다.
// 사용자 정의 예외 예제
class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
public class Main {
public static void main(String[] args) {
try {
throw new CustomException("사용자 정의 예외 발생");
} catch (CustomException e) {
System.out.println("에러: " + e.getMessage());
}
}
}
이 예제에서는 CustomException이라는 사용자 정의 예외를 생성하고, 이를 처리하는 방법을 보여줍니다.
자바 예외 처리를 통해 프로그램 실행 중 발생할 수 있는 에러를 처리하고, 프로그램의 안정성을 높일 수 있습니다. 다양한 예외 처리 기법을 사용하여 상황에 맞는 예외 처리를 구현해야 합니다.
'Programming > Java' 카테고리의 다른 글
자바의 람다식 (0) | 2023.08.05 |
---|---|
자바의 컬렉션 프레임워크 (0) | 2023.08.04 |
자바의 입출력 (0) | 2023.08.02 |
자바의 내부 클래스 (0) | 2023.08.01 |
자바의 인터페이스 (0) | 2023.07.31 |