코드네임 :

Python 기초 5 - 예외처리 본문

프로그래밍/Python

Python 기초 5 - 예외처리

비엔 Vien 2024. 3. 11. 11:12

예외 종류

# 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