에러발생 시 예외처리가 없는 경우 프로그램이 죽고만다.
아래 예외처리를 통해, 상정된 예외를 처리하고 프로그램을 유지시킬 수 있다.
* try : 예외처리가 발생할 영역
* except [ERR_TYPE] : 에러 타입에 맞는 에러 발생시 호출
* else : 에러가 발생하지 않을 경우 호출
* finally : 에러 발생여부와 상관없이 호출
bread = 10
try:
people = int(input("사람 수 < "))
print("1인당 빵 개수 :", bread / people)
print("맛있게 드세요~")
except ValueError as msg:
print("ERROR : 잘못된 입력입니다. msg[", msg, "]")
except ZeroDivisionError as msg:
print("ERROR : 0으로는 나눌 수 없습니다. msg[", msg, "]")
else:
print("정상적으로 처리되었습니다.")
finally:
print("프로그램을 종료합니다.");
# '일' 입력
사람 수 < 칠
ERROR : 잘못된 입력입니다. msg[ invalid literal for int() with base 10: '칠' ]
프로그램을 종료합니다.
# 0 입력
사람 수 < 0
ERROR : 0으로는 나눌 수 없습니다. msg[ division by zero ]
프로그램을 종료합니다.
# 1 입력
사람 수 < 1
1인당 빵 개수 : 10.0
맛있게 드세요~
정상적으로 처리되었습니다.
프로그램을 종료합니다.
모든 예외 받기 + 무시하기
bread = 10
try:
people = int(input("사람 수 < "))
print("1인당 빵 개수 :", bread / people)
print("맛있게 드세요~")
except : # 모든 에러(예외상황)에 대응한다.
pass # 아무 동작 없이 지나감
else:
print("정상적으로 처리되었습니다.")
finally:
print("프로그램을 종료합니다.");
# '일' 입력
사람 수 < 칠
프로그램을 종료합니다.
# 1 입력
사람 수 < 1
1인당 빵 개수 : 10.0
맛있게 드세요~
정상적으로 처리되었습니다.
프로그램을 종료합니다.
'Python > 기초이론' 카테고리의 다른 글
| Python - 클래스 (0) | 2023.02.13 |
|---|---|
| Python - 딕셔너리 (0) | 2023.02.12 |
| Python - 모듈 (0) | 2023.02.11 |
| Python - 함수 (0) | 2023.02.11 |
| Python_참고 - tuple, list 함수 (0) | 2022.12.25 |