예외 처리

기술노트

🛡️ 예외 처리 (Exception Handling)

예외 처리는 프로그램 실행 중에 발생하는 예상치 못한 문제(예외, Exception)에 대비하여, 프로그램이 비정상적으로 종료되지 않고 정상적인 실행 흐름을 유지하도록 만드는 프로그래밍 기법입니다.

파일을 열려는데 파일이 없거나, 네트워크 연결이 끊기는 등 예측 불가능한 오류가 발생했을 때, 이를 적절히 처리하여 프로그램의 안정성을 높입니다.


🧱 try-catch-finally 구문

대부분의 언어에서 예외 처리는 `try-catch-finally` 블록을 사용하여 이루어집니다.

  • try : 예외가 발생할 가능성이 있는 코드를 이 블록 안에 작성합니다.
  • catch : `try` 블록에서 특정 예외가 발생했을 때, 이를 잡아내어 처리하는 코드를 작성합니다. 발생한 예외의 종류에 따라 여러 개의 `catch` 블록을 사용할 수 있습니다.
  • finally : 예외 발생 여부와 상관없이 항상 실행되어야 하는 코드를 작성합니다. 주로 파일 닫기, 네트워크 연결 해제 등 자원을 정리하는 코드가 위치합니다.

```java try {

   // 예외가 발생할 수 있는 코드
   int result = 10 / 0;

} catch (ArithmeticException e) {

   // 0으로 나누는 예외가 발생했을 때 처리할 코드
   System.out.println("오류: 0으로 나눌 수 없습니다.");

} finally {

   // 예외 발생 여부와 상관없이 항상 실행되는 코드
   System.out.println("프로그램 실행 중...");

} ```


🆚 에러(Error)와 예외(Exception)의 차이

  • 에러 (Error) : 시스템 수준에서 발생하는 심각한 문제로, 프로그램이 처리할 수 없는 상태를 의미합니다. (예: 메모리 부족, 스택 오버플로우)
  • 예외 (Exception) : 주로 개발자가 작성한 코드에서 발생하는 문제로, 예외 처리를 통해 프로그램이 복구하거나 정상적으로 종료될 수 있습니다. (예: `NullPointerException`, `FileNotFoundException`)

💡 정보처리기사 핵심 Point

  • 예외 처리는 프로그램의 안정성과 신뢰성을 높이는 필수적인 요소입니다.
  • 정보처리기사 시험에서는 예외 처리의 개념, `try-catch-finally` 구문의 사용법을 묻는 문제가 자주 출제됩니다.
  • 에러와 예외의 차이점을 이해하고, 각 상황에 맞는 적절한 처리 방법을 아는 것이 중요합니다.