[Python] 파이썬 try except / raise 예외처리 개념이해
- 언어/Python
- 2020. 5. 14.
파이썬 프로그래밍을 하다보면 수많은 예외(Exception)가 발생하게 됩니다.
이럴 경우를 대비해서 우리는 예외처리를 하게 됩니다.
자바에서는 try catch 예외문을 사용하게 되는데요
파이썬에서는 try except 예외문을 사용합니다.
except 예외처리를 사용할때 예측가능한 예외이면 예측가능한예외를 사용하면 되지만,
예측이 불가능한 것이 올 수 있다고 생각하시면, except Exception으로 작성하시면 됩니다.
파이썬 예외처리 방법
try:
divide = 100 / 0
except Exception as e: #오류 예외를 알수 없을경우
print("error : ", e)
except ZeroDivisionError as e: #숫자를 0으로 나눌경우 ZeroDivisionError
print("숫자를 0으로 나눌 수 없습니다.")
print(e)
except IndexError as e: # 인덱스 범위 벗어난경우 IndexError
print("인덱스가 범위를 벗어났습니다.")
print(e)
except KeyError as e: # 매핑이 발견되지 않은경우 KeyError
print("매핑(딕셔너리)키가 기존 키 집합에서 발견되지 않습니다.")
print(e)
except NameError as e: # 지역또는 전역이름을 못찾는경우 NameError
print("지역 또는 전역 이름을 찾을 수 없습니다.")
print(e)
...
...
기타등등
실행결과 : 숫자를 0으로 나눌 수 없습니다. division by zero
그러면 이번에는 강제로 exception 을 발생시켜 볼게요.
raise Exception()를 사용하여서 강제예외처리를 할수 있습니다.
파이썬 강제 예외처리 방법
try:
a = 50
b = 40
if int(a) + int(b) != 100 :
raise Exception("합이 100이 아닙니다.")
except Exception as e:
print(e)
실행결과 : raise Exception 을 정상적으로 처리되었습니다. 합이 100이 아닙니다.
예외르 종류는 아래 링크로 들어가시면 더 자세하게 확인 하실 수 있습니다.
https://docs.python.org/ko/3/library/exceptions.html
파이썬 예외처리방법에 대해 알아보았습니다.
다음에는 더 좋은 포스팅으로 돌아올게요!
'언어 > Python' 카테고리의 다른 글
[PYTHON] 파이썬 10진수 변환(2진수,8진수,16진수) (0) | 2020.06.19 |
---|---|
[Python] 파이선 주석 사용법(한줄/여러줄/단축키) (0) | 2020.05.13 |
[Python]파이썬 사칙연산 완전정복[7가지연산자] (0) | 2020.05.05 |
[Python]파이썬 must be str not int 오류 해결 (0) | 2020.04.29 |
[PYTHON] 파이썬 for문(반복문) 돌리기 예제 (0) | 2020.04.27 |