728x90
# chapter 07_01
# 파이썬 예외처리의 이해
# 예외 종류
# syntaxerror, typeerror, nameerror, indexerror, valueerror, keyerror...
# 문법적으로 예외가 없지만, 코드 실행 프로세스(단계) 발생하는 예외도 중요
# 1. 예외는 반드시 처리
# 2. 로그는 반드시 남긴다.
# 3. 예외는 던져진다.
# 4. 예외 무시 가능
# syntaxerror
# 문법 에러
# print('error)
# print(('error')
# if True
# pass
# NameEror : 참조 없음
# a =15
# b =10
# print(c)
# zerodivision error
# print(100/0)
# indexerror
# x = [50, 70, 90]
# print(x[4])
# print(x.pop())
# print(x.pop())
# print(x.pop())
# print(x.pop()) # 4번 불러낼수 없다
#keyerror
# dic = {'name' : 'lee', 'age' : 41, 'city' : 'busan'}
# print(dic['hobby']) 없는것을 호출하면 안된다
# print(dic.get('hobby')) # get을 사용하는 이유는 존재 하지 않을시 none을 return한다
# 예외 없는 것을 가정하고, 프로그램 작성 -> 런타임 예외 발생 시 예외 처리 권장 (EAFP)
# attributeerror : 모듈, 클래스에 있는 잘못된 속성 사용 예외
# import time
# print(time.time2())
# valueerror
# x =[10, 50, 90]
# x.remove(50)
# print(x)
# x.remove(200) # 없는것을 삭제하려고 할때 발생한다.
# file not found keyerror
# f= open("test.txt") # 없는 파일을 호출시 생김
# type error
# x = [1,2]
# y = 'test'
# print(x + y) 같은 타입이 아닐 시 typeerror가 발생한다.
# 예외 처리
# try : 에러가 발생 할 가능성이 있는 코드 실행
# except 에러명1 : 여러개 가능
# except 에러명2 :
# else : try 블록의 에러가 없을 경우 실행
# finally : 항상 실행
name = ['kim', 'lee', 'park']
# # 예제 1
# try :
# z = 'cho'
# x = name.index(z)
# print('{} found it {} in name'.format(z, x+1))
#
# except ValueError : # except 만 해도 상관 없음
# print('not found it -- occured valueerror')
#
# else :
# print('ok ! else.')
#
# print()
#
# # z = kim 일때는 try 및 else 구문 실행
# # z = cho 일때는 except 블록이 실행
# # 예제 2
#
# try :
# z = 'cho'
# x = name.index(z)
# print('{} found it {} in name'.format(z, x+1))
#
# except ValueError : # except 만 해도 상관 없음
# print('not found it')
#
# else :
# print('ok ! else.')
#
# print()
#
# 예제 3 # 좀 더 고급 스러운 예외 처리
# try :
# z = 'cho'
# x = name.index(z)
# print('{} found it {} in name'.format(z, x+1))
#
# except Exception as e : # except 만 해도 상관 없음
# print(e)
# print('not found it')
#
# else :
# print('ok ! else.')
#
# finally : # 무조건 실행하는 구문 !!! 통신에서 초기화 시킬때 사용해야 될때 사용
# print('ok ! finally ')
print()
print()
print()
print()
# 예제 4
# 예외 발생 : raise
# raise : 키워드로 예외 직접 발생
try :
a = 'park'
if a ==' kim' :
print('ok ! pass !')
else :
raise ValueError
except ValueError :
print('occurred ! exception')
else :
print('ok pass')
print()
print()
print()
결과
occurred ! exception
[Finished in 0.149s]
728x90
'개발자 모드 > 파이썬(python)' 카테고리의 다른 글
파이썬(python) 외부(external) 함수 기초 예제 (0) | 2021.06.13 |
---|---|
파이썬 (python) 내장 함수(build in) 예제 (0) | 2021.06.13 |
파이썬 (python) 패키지(package) 기초 예제 (0) | 2021.06.13 |
파이썬(python) 시리얼 통신 기초 예제(error 있음) (1) | 2021.06.12 |
파이썬 atom editor 콘솔 터미널(console terminal) 추천 package (0) | 2021.06.12 |