Python | 예외 발생시키기

지현·2021년 1월 11일
0

Python

목록 보기
7/9
post-thumbnail

목표: 예외를 왜 굳이 발생시키는지 이해하기..

try:
    x = int(input('3의 배수를 입력하세요: '))
    if x % 3 != 0:                                 # x가 3의 배수가 아니면
        raise Exception('3의 배수가 아닙니다.')        # 예외를 발생시킴
    print(x)
except Exception as e:                             # 예외가 발생했을 때 실행됨
    print('예외가 발생했습니다.', e)
    

def three_multiple():
    x = int(input('3의 배수를 입력하세요: '))
    if x % 3 != 0:                                 # x가 3의 배수가 아니면
        raise Exception('3의 배수가 아닙니다.')    # 예외를 발생시킴
    print(x)                                       # 현재 함수 안에는 except가 없으므로
                                                   # 예외를 상위 코드 블록으로 넘김
 
try:
    three_multiple()
except Exception as e:                             # 하위 코드 블록에서 예외가 발생해도 실행됨
    print('예외가 발생했습니다.', e)

[코드 설명]
1. three_multiple 함수 안에는 try, except이 없는 상태에서 raise로 예외 발생
2. 함수 바깥에 있는 except에서 예외 처리

  • 예외가 발생하더라도, 현재 코드 블록에서 처리해줄 excpet가 없다면 except가 나올 때까지 계속 상위 코드 블록으로 올라간다.
    만약 바깥에도 처리해줄 except가 없다면 코드 실행은 중지되고 에러가 표시된다.

0개의 댓글