코드네임 :
Python 기초 5 - 예외처리 본문
예외 종류
# Syntaxerror : 문법 오류
# NameError : 참조 없음 (선언되지 않은 변수를 참조하려 했을때)
# ZeroDivisionError : cant divide with zero(0)
# IndexError : List의 인덱스 범위를 벗어났을때)
# KeyError : dict에 없는 키 가져왔을때
# AttributeError : 모듈, 클래스에 있는 잘못된 속성 사용 예외
# ValueError : List/Tuple/Dict안에 없는 값을 참조시
# FileNotFoundError : 없는 파일을 열거나 지우려고 할떄
# TypeError : 자료형에 맞지 않는 연산을 수행할 경우
# Exception 또는 빈칸 : 모든 에러를 의미 , 포괄적 -> 아 그냥 어떤 예외든 잡을래~ 이럴때 쓰나봄
예외 처리 기본
# try : 에러가 발생할 가능성이 있는 코드 실행
# except 에러명1 : 여러개 가능
# except 에러명2 :
# else : try 블록의 에러가 없을 경우 실행
# finally : 항상 실행
name = ['Kim', 'Lee', 'Park']
try:
z= 'Kim' #Choi 이렇게 바꾸면 except문 실행
x = name.index(z) # z = 0
print('{} Found it! {} in name'.format(z,x+1)) # x+1한 이유가 x+1번째 순서라고 표시하기 위해서
except ValueError as e: # 여기서 VE 대신 Exception을 적는 다면 모든 에러를 잡음 (포괄적)
print(e) #에러의 내용을 출력!!! (alias)
print("Not Found! - Occured ValueError!")
else:
print('Ok! else.')
finally:
print("Ok! finally!")
예외 발생 : raise
# raise 키워드로 예외 직접 발생시킴
try:
a= 'Park'
if a =='Kim': # else문과 except문만 실행
print('OK! Pass')
else:
raise ValueError # 무조건 에러를 발생시켜라 (에러 직접 발생시킴 - 우리가 예외를 직접 만들어서 잡음)
except ValueError:
print('Occured! Exception!')
else:
print("Ok! else!")
'프로그래밍 > Python' 카테고리의 다른 글
🌀백준 파이썬🌀 1일차 (0) | 2024.03.17 |
---|---|
Python 기초 6 기본 함수들 (0) | 2024.03.12 |
Python 기초3 (함수 및 입력) (0) | 2024.03.07 |
파이썬 기초 2 (if, for while) (1) | 2024.03.05 |
Python 기초1 (기초자료형) (0) | 2024.02.24 |