예외처리란?
편의점 심부름으로 이해해 보자.
엄마가 이렇게 심부름을 시킨다.
"마트 가서 달걀 사 와."
그런데 만약 마트가 문을 닫았다면? 돈을 잃어버렸다면? 원하는 과자가 품절이라면?
이런 상황들은 집에서 출발할 때는 예상하지 못한 돌발 상황이다.
컴퓨터 프로그램도 마찬가지다.
아무리 잘 짜여진 코드라도, 실행하다 보면 예상 못한 오류(에러)가 생길 수 있다.
그런데 컴퓨터는 융통성이 없어서, 오류를 만나면 그냥 프로그램을 꺼버린다;;
이걸 막기 위한 안전장치가 바로 예외처리(Exception Handling) 이다.
try? catch? finally?
이 세 가지를 심부름에 비유하면 이렇게 된다.
try (시도해봐!)
— "일단 해봐!" 마트에서 달걀을 사는 동작을 해본다. 잘 되면 그냥 통과!
catch (문제 잡아!)
— "그러다 뭔가 잘못되면?" 마트가 문을 닫았거나, 돈이 부족하면 → "아, 이런 문제가 생겼구나! 그러면 이렇게 하자!" 하고 대처하는 행동을 써놓는 곳이다. 프로그램이 꺼지는 대신, 문제를 붙잡아(catch) 처리한다.
finally (어쨌든 마지막엔!)
— "성공하든 실패하든 반드시 해야 할 일" 심부름이 성공했든 실패했든, 집에 돌아와서 현관문은 꼭 닫아야 하지 않은가? 그것처럼, 결과에 상관없이 항상 실행돼야 하는 마무리 동작을 써놓는 곳이다. (예: 열어둔 파일 닫기, 서버 연결 끊기 등)
try {
// 과자 사러 마트에 가본다!
} catch (Exception e) {
// 뭔가 잘못됐을 때 여기서 처리 ("마트 문 닫혔네, 다른 곳 가자")
} finally {
// 성공이든 실패든 집에 와서 현관문은 닫는다
}
정리
try = 일단 해봐!
catch = 잘못되면 이렇게 해!
finally = 무슨 일이 있어도 이건 꼭 해!
이 세 가지가 합쳐져서, 프로그램이 갑자기 꺼지지 않고 문제가 생겨도 우아하게 대처할 수 있게 해준다.
이게 바로 예외처리(Exception Handling)이다.
일이 잘 안 풀려도 그냥 try해보자! 그러다 잘 안되면 catch하고, 무엇보다 반드시 finally 포기하지 마라.
'혼공' 카테고리의 다른 글
| [코드트리 후기] 코딩테스트 준비 시작, 갭체크로 나의 위치 파악 (0) | 2026.05.27 |
|---|---|
| Git Commit 잔디 유지하면서 Repository 정리 (0) | 2026.05.03 |
| [Bash] grep 명령어 (0) | 2026.04.23 |
| [Bash] 기본 명령어 모음 (0) | 2026.04.23 |
| [Java] while문 vs do while문 (0) | 2026.04.23 |