일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 동화책
- 아기동화
- FOR
- Docker
- 토끼
- 프롬프트 튜닝
- 퓨샷
- Compute
- 반복문
- Cognitive Search
- 제로샷
- Python
- dask
- GPT
- Azure
- 검색
- 인자 힌트
- 대스크
- 인컨텍스트 러닝
- UDF
- 파이썬
- Ai
- 조건문
- Redshift
- AI 동화
- 컨텍스트 매니져
- 파라미터 힌트
- 모험
- 도커
- Cognitive Service
- Today
- Total
호랭이 분석가
파이썬 예외 처리: try-except, else, finally 활용하기 본문
코딩을 하다 보면 예상치 못한 상황에 대비하여 예외 처리가 필요한 경우가 많습니다.
파이썬은 이러한 예외 상황을 처리하기 위해
try, except, else, finally와 같은 키워드를 제공합니다.
1. try-except 구문
try와 except 구문은 예외가 발생할 가능성이 있는 코드를 감싸고,
예외가 발생했을 때 이를 처리하는 데 사용됩니다.
기본 형식은 아래와 같습니다.
try :
# 예외가 발생할 수 있는 코드
except 예외종류 as 변수 :
# 예외 처리 코드
try:
result = x / y
except ZeroDivisionError as e:
print(f"에러 발생: {e}")
ZeroDivisionError는 파이썬의 내장된 예외 구문 중 하나로, 0으로 나누려 할 때 발생하는 예외입니다.
만약 y값에 0이 할당된다면 ZeroDivisionError가 출력되도록 만들어져 있습니다.
2. else 구문
else 구문은 try 블록에서 예외가 발생하지 않았을 때 실행할 코드를 포함합니다.
예외가 발생하지 않았을 때 특별한 처리를 해야 할 때 유용하게 사용됩니다.
기본 형식은 아래와 같습니다.
try:
# 예외가 발생할 수 있는 코드
except 예외종류 as 변수:
# 예외 처리 코드
else:
# 예외가 발생하지 않았을 때 실행할 코드
try:
result = x / y
except ZeroDivisionError as e:
print(f"에러 발생: {e}")
else:
print(f"나눗셈 결과: {result}")
y값에 0이 아닌 숫자값이 들어왔을 때 result 변수가 생성된 이후에 나눗셈 결과를 출력하는 예제입니다.
3. finally 구문
finally 구문은 예외 발생 여부에 관계없이 항상 실행되어야 하는 코드를 포함합니다.
파일을 닫는 등의 정리 작업을 할 때 유용하게 사용됩니다.
try:
# 예외가 발생할 수 있는 코드
except 예외종류 as 변수:
# 예외 처리 코드
finally:
# 항상 실행되어야 하는 코드
아래에서는 try-except, else, finally를 모두 사용하는 예제를 보여드리겠습니다.
try:
# 사용자로부터 두 개의 숫자를 입력받음
num1 = int(input("첫 번째 숫자를 입력하세요: "))
num2 = int(input("두 번째 숫자를 입력하세요: "))
# 나눗셈을 수행
result = num1 / num2
except ValueError:
print("숫자를 올바르게 입력해주세요.")
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
except Exception as e:
print(f"알 수 없는 오류가 발생했습니다: {e}")
else:
# 예외가 발생하지 않았을 때 실행되는 코드
print(f"나눗셈 결과: {result}")
finally:
# 항상 실행되는 정리 작업
print("프로그램을 종료합니다.")
위 예제를 실행하면 사용자로부터 두 개의 숫자를 입력받은 후 나눗셈을 수행하거나 예외가 발생합니다.
예외에 종류에 따른 적절한 안내 메시지가 출력되거나, 정상적으로 작동 시 나눗셈 결과를 출력하며
마지막으로 항상 실행되어야 하는 finally 구문에서 프로그램을 종료한다는 메시지가 출력됩니다.
추가적으로 예외 종류를 더 다양하게 처리하거나 사용자 정의 예외를 추가하여
더 복잡한 예외 처리를 구현해 볼 수도 있습니다.
'Python' 카테고리의 다른 글
[파이썬] 제너레이터와 yield를 활용한 데이터 처리 기법 (0) | 2023.08.02 |
---|---|
for문과 while문의 차이점과 break, continue, pass 활용하기 (0) | 2023.07.30 |
파이썬 함수 작성시 데이터 타입 힌트 활용하기 (0) | 2023.07.28 |
리스트 컴프리헨션과 조건문 (list comprehension and if-else) (0) | 2023.07.25 |
코드 실행 시간 측정하기 Decorator (Context Manager) (0) | 2023.07.23 |