6. 예외처리 (Exception Handing)

예외처리(Exception Handling)는 프로그램 실행 중에 예기치 않은 상황이 발생할 때, 이러한 예외 상황을 적절하게 처리하는 방법을 말합니다. Java에서는 예외처리를 위한 메커니즘을 제공하여 프로그램의 안정성과 예측 가능성을 높일 수 있습니다.

일반적으로 예외는 프로그램에서 발생하는 오류 상황이며, 이러한 예외는 다양한 이유로 발생할 수 있습니다. 몇 가지 예외의 예는 다음과 같습니다

  • NullPointerException: null 참조를 사용하여 객체의 멤버에 접근할 때 발생합니다.

  • ArrayIndexOutOfBoundsException: 배열 인덱스가 유효하지 않은 범위를 벗어날 때 발생합니다.

  • FileNotFoundException: 파일을 찾을 수 없을 때 발생합니다.

  • ArithmeticException: 0으로 나누기와 같은 산술 연산 오류가 발생할 때 발생합니다.

예외가 발생하면 프로그램의 실행이 중단되고 예외에 대한 정보가 출력될 수 있습니다. 이를 방지하고 예외를 처리하기 위해 예외처리 구문을 사용합니다.

Java에서의 예외처리는 try-catch 블록을 사용하여 구현됩니다. 예외가 발생할 가능성이 있는 코드를 try 블록 내에 작성하고, 해당 예외를 처리할 catch 블록을 작성합니다. catch 블록은 발생한 예외와 일치하는 예외 유형을 지정하여 예외를 처리하고, 예외에 대한 적절한 조치를 취합니다. 예외 처리가 완료되면 프로그램의 실행은 정상적으로 계속됩니다.

예시 코드를 통해 예외처리를 설명하겠습니다

try {
    // 예외가 발생할 가능성이 있는 코드
    int result = divide(10, 0);
    System.out.println("결과: " + result);
} catch (ArithmeticException e) {
    // 예외가 발생했을 때 수행할 코드
    System.out.println("0으로 나눌 수 없습니다.");
    e.printStackTrace();
}

// 나눗셈을 수행하는 메서드
public static int divide(int a, int b) {
    return a / b;
}

위의 예시에서 divide 메서드는 0으로 나누기 오류(ArithmeticException)가 발생할 수 있는 코드입니다. 이를 try 블록 안에서 호출하고, catch 블록에서 ArithmeticException 예외를 처리하고 오류 메시지를 출력합니다. catch 블록이 실행된 후에도 프로그램은 정상적으로 계속 실행됩니다.

예외처리는 프로그램의 안정성을 향상시키고 예상치 못한 오류 상황에 대비하여 대응할 수 있도록 도와줍니다. 적절한 예외처리를 통해 프로그램의 실행 흐름을 제어하고, 예외에 대한 적절한 조치를 취할 수 있습니다.

Last updated