try/except로 예외 처리하기
프로그램은 0으로 나누거나 존재하지 않는 파일에 접근하는 등 예상치 못한 오류로 중단될 수 있습니다.
하지만 예외 처리를 사용하면 프로그램을 멈추지 않고 오류를 우아하게 다룰 수 있습니다.
파이썬에서 예외 처리에 자주 사용하는 네 가지 블록은 다음과 같습니다.
try
except
else
finally
1. try와 except
실행할 코드를 try
블록으로 감싸고, 오류가 발생하면 except
블록에서 처리합니다.
try:
result = 10 / 0
except ZeroDivisionError:
print("앗! 0으로 나눌 수 없습니다.")
- 나눗셈 연산에서
ZeroDivisionError
가 발생합니다. - 프로그램은 중단되지 않고 대신 오류 메시지를 출력합니다.
2. 여러 오류 유형 처리
예 외의 유형에 따라 여러 개의 except
블록을 사용할 수 있습니다.
여러 오류 유형 처리
try:
number = int("abc")
except ValueError:
print("올바른 숫자가 아닙니다.")
except TypeError:
print("자료형이 맞지 않습니다.")
- 이 예제에서는
int("abc")
때문에ValueError
가 발생하며, 해당 오류를 처리합니다.
3. else와 finally
else
는 오류가 없을 때 실행되고, finally
는 오류 발생 여부와 관계없이 항상 실행됩니다.
else와 finally
try:
value = int("42")
except ValueError:
print("변환에 실패했습니다.")
else:
print("변환에 성공했습니다.", value)
finally:
print("확인이 끝났습니다.")
else
는 성공적으로 변환되었을 때 실행됩니다.finally
는 파일 닫기, 연결 해제 등 정리 작업에 유용합니다.
요약
키워드 | 목적 |
---|---|
try | 오류가 발생할 수 있는 코드를 실행 |
except | 특정 오류 처리 |
else | 예외가 발생하지 않았을 때 실행 |
finally | 항상 실행, 정리 작업에 사용 |
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!