예외 = 예상 가능한 예외 + 예상 불가능한 예외
논리적인 오류 문제
-> if문으로 해결
ex) 정수 0으로 나누기, 리스트 범위 벗어난 호출
-> exception handling 필요
for i in range(5):
try:
print(10/i)
except ZeroDivisionError:
print('Error')
built-in exception : ZeroDivisionError와 같은 이미 정해진 error
정해지지 않은 error는 새로 정의할 수 있음.
raise - 강제로 exception 발생 (중간에 코드 정지)
assert - 조건에 따라 exception 발생
file은 text file과 binary file 두 가지가 있음.
프로그램 진행 상황에 따라 LEVEL별 LOG 관리 필요
LEVEL은 5단계임.
1. debug
2. info
3. warning
4. error
5. critical
로그 기본 세팅하는 방법
(어디에 저장할건지, 레벨은 어디부터 기록할건지 등등)
configparser
argparser