예외처리 키워드

키워드 설명
try 기본 코드가 실행되는 블록
except 에러가 발생했을 때 실행되는 블록(여러 번 사용가능)
else 어떤 에러도 발생하지 않았을 때 실행되는 블록
finally 항상 실행되는 블록

 

예외처리 형태

try:
    num_1 = int(input('첫 번째 숫자: '))
    num_2 = int(input('두 번째 숫자: '))
    result = num_1/num_2
    print('{} / {} = {}'.format(num_1,num_2,result)) # .format() 함수 안에 순서대로 앞 {}에 들어가 출력된다.
    
except ValueError:
	print('숫자를 입력하세요!')

# 숫자를 입력해야되는데 문자를 입력해서 에러가 났을 때: ValueError

try 안에는 실행되는 블록을 작성하고

except에는 python 공식문서에서도 확인 가능한 python 내장 예외 object 이름(에러이름)을 넣어 사용한다.

(에러발생시 확인 가능)

https://docs.python.org/ko/3/library/exceptions.html

 

내장 예외 — Python 3.10.2 문서

파이썬에서, 모든 예외는 BaseException 에서 파생된 클래스의 인스턴스여야 합니다. 특정 클래스를 언급하는 except 절을 갖는 try 문에서, 그 절은 그 클래스에서 파생된 모든 예외 클래스를 처리합

docs.python.org

 

while True: # 무한루프 break를 걸어주지 않으면 계속 반복된다. 에러가 나면 다시 처음부터 실행됨.
    try:
        num_1 = int(input('첫 번째 숫자: '))
        num_2 = int(input('두 번째 숫자: '))
        result = num_1/num_2
        print('{} / {} = {}'.format(num_1,num_2,result)) # .format() 함수 안에 순서대로 앞 {}에 들어가 출력된다.
        break
        
    except ValueError: # 숫자를 입력해야되는데 문자를 입력해서 에러가 났을 때: ValueError
        print('숫자를 입력하세요!')
        
    except ZeroDivisionError: # 0을 입려했을 때 나는 에러
        print('0으로 숫자를 나눌 수 없습니다!')
        
    except Exception: # 에러 이름 지정 없이 모든 에러를 처리할 때 사용한다.
    	print('에러가 발생했습니다.')

'언어 > Python' 카테고리의 다른 글

Python 자료형_문자열  (0) 2022.01.18
python 조건문  (0) 2021.10.26
python_리스트와 딕셔너리  (0) 2021.10.26
python_사칙연산  (0) 2021.10.26

+ Recent posts