728x90

이 강의는 파이썬 강의 42강입니다.
이전 강의에서는 파일 + 리스트·딕셔너리 조합으로
데이터를 구조화해 사용하는 방법을 배웠습니다.
이번 강의에서는 프로그램이 에러로 갑자기 멈추지 않도록 만드는 방법,
즉 예외 처리(try / except)를 배웁니다.
왜 예외 처리가 필요한가
지금까지 작성한 코드들은
조건이 조금만 어긋나도 바로 에러가 납니다.
예를 들면:
- 숫자가 아닌 값을 숫자로 바꾸려 할 때
- 존재하지 않는 파일을 열 때
- 딕셔너리에 없는 키를 사용할 때
이런 상황에서
프로그램이 죽지 않게 막는 장치가
바로 예외 처리입니다.
1️⃣ 예외 처리 기본 구조
예외 처리의 기본 형태는 다음과 같습니다.
try:
실행할 코드
except:
에러가 났을 때 실행할 코드
의미는 아주 단순합니다.
일단 시도해보고 에러가 나면 이쪽으로 온다
2️⃣ 숫자 변환 예제
아주 흔한 에러 상황입니다.
try:
num = int(input("숫자를 입력하세요: "))
print(num)
except:
print("숫자가 아닙니다.")
에러가 나도
프로그램이 멈추지 않습니다.
3️⃣ 파일 처리에서의 예외 처리
파일이 없을 수도 있는 상황입니다.
try:
with open("data.txt", "r") as f:
content = f.read()
print(content)
except:
print("파일을 찾을 수 없습니다.")
실전에서는
파일 예외 처리가 거의 필수입니다.
4️⃣ 예외 처리 범위는 최소로
try 안에는
에러가 날 가능성이 있는 코드만 넣는 게 좋습니다.
❌ 너무 넓은 범위
try:
a = int(input())
b = int(input())
print(a + b)
except:
print("에러")
⭕ 필요한 부분만
try:
a = int(input())
b = int(input())
except:
print("입력이 잘못되었습니다.")
5️⃣ 특정 에러만 처리하기
모든 에러를 잡는 것보다
특정 에러만 처리하는 게 좋을 때도 있습니다.
try:
num = int("abc")
except ValueError:
print("숫자로 변환할 수 없습니다.")
6️⃣ else 사용하기
에러가 없을 때만
실행되는 코드입니다.
try:
num = int(input("숫자 입력: "))
except:
print("에러 발생")
else:
print("입력한 숫자:", num)
7️⃣ finally 사용하기
에러가 나든 말든
무조건 실행되는 코드입니다.
try:
f = open("test.txt", "r")
print(f.read())
except:
print("파일 에러")
finally:
f.close()
자원 정리에 자주 사용됩니다.
(요즘은 with가 더 많이 쓰입니다)
8️⃣ 실습 예제
아래 조건을 만족하는 프로그램을 만들어보세요.
- 숫자 2개 입력
- 숫자로 변환 시도
- 에러가 나면 메시지 출력
- 정상일 때만 합 출력
더보기
try:
a = int(input("첫 번째 숫자: "))
b = int(input("두 번째 숫자: "))
except:
print("숫자만 입력하세요.")
else:
print("합:", a + b)
이번 강의 핵심 정리
- try / except는 에러를 처리한다
- 에러가 나도 프로그램이 멈추지 않는다
- 특정 에러만 골라서 처리할 수 있다
- else, finally로 흐름을 세밀하게 제어할 수 있다
728x90
'⚙️ Python > 💻 Python 기초' 카테고리의 다른 글
| [Python] 44강 상태(state) 개념 이해하기 (0) | 2026.01.12 |
|---|---|
| [Python] 43강 프로그램 설계 사고방식 (코드보다 먼저 생각하기) (0) | 2026.01.11 |
| [Python] 41강 파일과 리스트·딕셔너리 함께 사용하기 (0) | 2026.01.10 |
| [Python] 40강 파일 쓰기 기본 (데이터 저장하기) (0) | 2026.01.10 |
| [Python] 39강 파일 읽기 기본 (.txt 파일 다루기) (0) | 2026.01.09 |