def handling_exception():
""" 예외 처리 연습 """
# 인덱스 에러 IndexError
# 캐스팅 에러 ValueError
# 사전 키 접근 에러 KeyError
# 정수를 0으로 나눴을 경우 ZeroDivisionError
lst =[]
try:
#lst[3] =1 #IndexError
4/1 #ZeroDivisionError
#int("String") # valueError
except ValueError as e:
print("정수로 변환할 수 없어요.", e)
except ZeroDivisionError as e:
print("정수를 0으로 나눌 수 없어요.", e)
except IndexError as e:
print("인덱스 범위가 벗어났습니다.", e)
except Exception as e:
#Exception은 모든 예외의 부모 클래스
print("Exception:", e)
else:
print("예외없이 코드가 실행되었습니다.")
finally:
print("예외 여부 관계 없이 항상 마지막에 실행")
def raise_exception():
def beware_dog(animal):
if animal.lower() == "dog":
# 강제 익셉션 발생
raise RuntimeError("강아지는 출입을 제한합니다.")
else:
print("어서오세요!")
try:
beware_dog("cow")
beware_dog("cat")
beware_dog("dog")
except Exception as e:
print(e, type(e))
if __name__ =="__main__":
handling_exception()
raise_exception()
'2020 > Python' 카테고리의 다른 글
Python timedelta 두 datetime의 차이값 (0) | 2019.11.20 |
---|---|
Python datetime (0) | 2019.11.20 |
함수의 스코핑(Scope),가변인자, 고정인가, 키워드인자 (0) | 2019.11.20 |
Python 흐름제어(조건문, 반복문) if, elif,else, while, for, 조건표현식 (0) | 2019.11.20 |
Python 객체(deepcopy, copy, global, local) (0) | 2019.11.20 |