파이썬/예외처리

예외처리

hyunai 2026. 2. 13. 23:22
try:
    print("나누기 전용 계산기")
    nums = []
    nums.append(int(input("첫번 째 숫자를 입력 : ")))
    nums.append(int(input("두번 째 숫자를 입력 : ")))
    nums.append(int(nums[0] / nums[1]))
    print("{0} / {1} = {2}".format(nums[0], nums[1], nums[2]))
except ValueError:
    print("잘못된 값을 입력함")
except ZeroDivisionError as err:
    print(err)
except Exception as err:
    print("알 수 없는 에러 발생")
    print(err)
  • try 문에 값들을 입력하도록 한다.
  • except 문에 try에서 오류가 발생하면 그 해당 오류를 받도록 한다.

ValueError

나누기 전용 계산기
첫번 째 숫자를 입력 : 6
두번 째 숫자를 입력 : 삼
잘못된 값을 입력함
  • try에서는 int 값을 받도록 했지만 숫자가 아닌 정수형을 입력하면 나는 에러다.
  • 따라서 해당 변수형대로 입력하지 않으면 나오는 에러이다.

ZeroDivisionError

나누기 전용 계산기
첫번 째 숫자를 입력 : 6
두번 째 숫자를 입력 : 0
division by zero
  • except ZeroDivisionError as err:
        print(err)
    • 이렇게 입력을 하면 해당 에러가 어떤 에러인지 확인할 수 있다.
  • 나눌 때 분모 값이 0이면 나타나는 에러이다.

Exception

try:
    print("나누기 전용 계산기")
    nums = []
    nums.append(int(input("첫번 째 숫자를 입력 : ")))
    nums.append(int(input("두번 째 숫자를 입력 : ")))
    # nums.append(int(nums[0] / nums[1]))
    print("{0} / {1} = {2}".format(nums[0], nums[1], nums[2]))
except ValueError:
    print("잘못된 값을 입력함")
except ZeroDivisionError as err:
    print(err)
except Exception as err:
    print("알 수 없는 에러 발생")
    print(err)
    
===========================================================
나누기 전용 계산기
첫번 째 숫자를 입력 : 6
두번 째 숫자를 입력 : 3
알 수 없는 에러 발생
list index out of range
  • except Exception으로 작성하면 위의 exception 값이 아닌 다른 모든 exception을 찾아준다.
  • 원래 try 문에서 하나의 리스트 안에 값을 주석처리해 나타나지 않도록 했다.
  • 그럼 위의 다른 exception들을 통과하고 다른 exception인 list index out of range 에러가 발생했다고 로그가 나온다.

'파이썬 > 예외처리' 카테고리의 다른 글

finally  (0) 2026.02.23
사용자 정의 예외처리  (0) 2026.02.15
에러 발생시키기  (0) 2026.02.13