14.2 예외 처리 코드 (try-catch-finally)


1. 안전 운전 매뉴얼 🚗

예외 처리는 “사고가 나도 차를 멈추지 않고 계속 달리게 하는 기술”입니다. 자바에서는 try-catch-finally 블록을 사용해 3단계 안전장치를 만듭니다.

Try Catch Flow

  1. try (시도): “일단 운전해봐.” (예외가 발생할 수 있는 코드를 넣습니다.)
  2. catch (수습): “사고 나면 이렇게 처리해.” (예외가 발생했을 때 실행할 코드입니다.)
  3. finally (마무리): “사고가 나든 안 나든, 시동은 끄고 내려.” (무조건 실행되는 코드입니다.)



2. 사용법 살펴보기

기본 문법

try {
    // 1. 여기서 위험한 짓을 시도함
    int result = 10 / 0; 
} catch(ArithmeticException e) {
    // 2. 사고(0으로 나누기) 발생 시 이곳으로 점프!
    System.out.println("0으로 나눌 수 없습니다!");
} finally {
    // 3. 성공하든 실패하든 무조건 뒷정리
    System.out.println("계산 종료.");
}

실행 순서

  • 성공 시: try 실행 -> finally 실행. (catch 건너뜀)
  • 실패 시: try 실행 중단 -> catch 실행 -> finally 실행.



3. 예외 정보를 확인하는 3가지 방법

catch (Exception e) 블록에서 예외 객체 e를 통해 사고 경위를 조사할 수 있습니다.

  1. 이유만 간단히: e.getMessage() -> “Zero division error”
  2. 종류와 이유: e.toString() -> “java.lang.ArithmeticException: / by zero”
  3. 상세 추적(권장): e.printStackTrace() -> 사고 지점과 경로를 모두 출력해줍니다. 디버깅 때 필수!

핵심 요약: try는 시도하고, catch는 받아내고, finally는 정리합니다. 이 구조만 알면 프로그램이 갑자기 툭 꺼지는 일을 막을 수 있습니다.


코딩 영단어 학습 📝

코딩에서 영어 단어의 의미만 정확히 이해해도 절반은 성공입니다! 오늘 배운 핵심 영단어들을 다시 한번 짚고 넘어가 볼까요?

  • Try: 트라이, 시도하다. (사고가 날 위험이 다분하지만 일단 조심스럽게 실행해 보는 ‘위험 구역’을 지정하는 키워드)
  • Catch: 캐치, 잡다. (만약 try 구역에서 예외(사고)가 툭 튀어나왔을 때, 땅에 떨어져 프로그램이 박살 나기 전에 쏜살같이 낚아채서 수습하는 구조대 같은 블록)
  • Finally: 파이널리, 마침내, 마지막으로. (사고가 났든 안 났든, try-catch의 여정이 끝난 후 무조건 들러서 깔끔하게 뒷정리를 하고 떠나는 마무리 블록)
서브목차