[java] 자바 런타임 에러와 파일 입출력 예외 처리

자바 프로그래밍을 하다 보면, 런타임 에러와 파일 입출력 시 발생할 수 있는 예외 처리가 중요한 문제입니다. 이번 포스팅에서는 자바에서 자주 발생하는 런타임 에러와 파일 입출력 시 주의할 점에 대해 알아보겠습니다.

런타임 에러(Runtime Error)

런타임 에러는 프로그램이 실행 중에 발생하는 오류를 말합니다. 자바에서는 주로 NullPointerException, ArrayIndexOutOfBoundsException, ClassCastException 등의 런타임 에러가 발생합니다. 이러한 에러를 처리하기 위해서는 try-catch 블록을 사용하여 예외 처리를 해야 합니다.

다음은 ArrayIndexOutOfBoundsException을 예외 처리하는 예시 코드입니다.

try {
    int[] arr = new int[5];
    System.out.println(arr[10]); // 배열의 범위를 초과하여 에러 발생
} catch (ArrayIndexOutOfBoundsException e) {
    System.out.println("배열의 인덱스를 초과했습니다."); // 에러 메시지 출력
}

파일 입출력 예외 처리

파일 입출력은 외부 자원을 사용하는 작업이기 때문에 예외 처리가 필요합니다. 파일 입출력 시 발생할 수 있는 예외로는 FileNotFoundException, IOException 등이 있습니다. 파일을 읽거나 쓸 때에는 try-catch-finally 블록을 사용하여 예외 상황을 처리해야 합니다.

아래는 파일을 읽을 때 발생할 수 있는 FileNotFoundException을 예외 처리하는 예시 코드입니다.

BufferedReader br = null;
try {
    br = new BufferedReader(new FileReader("file.txt"));
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
} catch (FileNotFoundException e) {
    System.out.println("파일을 찾을 수 없습니다.");
} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (br != null) {
            br.close();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

런타임 에러와 파일 입출력 시 발생하는 예외 상황을 적절히 처리하여 안정적인 프로그램을 작성할 수 있도록 주의해야 합니다.

이상으로 자바 런타임 에러와 파일 입출력 예외 처리에 대해 알아보았습니다.

참고 자료

  1. Oracle 자바 튜토리얼: 예외 처리
  2. 자바의 정석: 예외처리