본문 바로가기
초보 코딩 배우기

파이썬 exception

by into 2021. 6. 13.
반응형

파이썬 코딩을 하는 동안 프로그램 중간에 못된 오류가 있으면 파이썬은 자동으로 오류를 보여주고 프로그램을 중지시킵니다.

 

가장 대표적인 예가 숫자를 0으로 나누게 되면 ZeroDivisonError: division by zero라는 오류 메시지를 보여줍니다.

하지만, 사용자가 프로그램이 오류를 예외로 정하고 중지되지 않고 계속 실행되기를 원할 때가 있습니다. 이렇게 오류를 처리하여 프로그램을 계속 실행하고 싶을 때 except와 try를 사용합니다.

 

기본적인 구조

try:

    ...

except 오류:

    ...

ZeroDivisonError: division by zero의 오류를 예외로 정한 예제

try:

   1/0

except ZeroDivisonError:

   print('division by zero')

1/0 연산을 실행하면 except가 ZeroDivisionError 형태의 오류를 division by zero로 출력합니다.

 

위의 예제는 다음과 같이 사용할 수도 있습니다.

except 오류 as e: 에서 'as e'는 e는 오류 메시지 변수이며 e를 출력하면 오류 메시지를 출력합니다.

 

위의 try, except 구조는 여러 개의 오류를 확인할 수 있으며 else를 같이 사용할 수 있습니다.

try:

    ...

except 오류 1:

    실행 1

except 오류 2:

    실행 2

else:

    실행 3

try의 실행을 한 후 오류 1이 있으면 해당 실행 1을, 오류 2가 있으면 실행 2를, exception이 업으면 else 다음의 실행 3을 실행됩니다.

 

예제

숫자 2개를 입력해서 첫 번째 숫자를 두 번째 숫자로 나눕니다. 0으로 나누면 "You have tried to divide by zero!"를 출력하고, 0이 아닌 숫자로 나누면 "You didn't divide by zero.!"를 출력합니다.

try:
    a=int(input("Enter the first number: "))
    b=int(input("Enter the second number: "))
    print(a/b)
except ZeroDivisionError:
   print("You have tried to divide by zero!")
else:
   print("You didn't divide by zero.!")

 

첫 번째 숫자는 1, 두 번째 숫자는 0을 입력해 보겠습니다.

1/0으로 "You have tried to divide by zero!"을 출력합니다.

 

첫 번째 숫자는 1, 두 번째 숫자는 1을 입력해 보겠습니다.

1/1의 계산 값인 1과  "You didn't divide by zero.!"를 출력합니다.

 

 

오늘은 파이썬의 exception에 대해서 알아봤습니다.

 

 

반응형

'초보 코딩 배우기' 카테고리의 다른 글

파이썬 time 모듈  (14) 2021.06.01
파이썬 string 포멧 출력하기  (12) 2021.05.24
파이썬 모듈  (4) 2021.05.18
파이썬 while loop  (6) 2021.05.10
파이썬 파일 입출력  (10) 2021.05.03
파이썬 인덱싱과 슬라이싱  (11) 2021.04.26
파이썬 함수  (19) 2021.04.19
파이썬 dictionary  (14) 2021.04.11

댓글