개발로그필름

[python] 예외처리, 에러 발생시키기, 사용자 정의 예외처리, finally 본문

IT/Python

[python] 예외처리, 에러 발생시키기, 사용자 정의 예외처리, finally

yuullog 2022. 10. 13. 20:10
728x90
반응형
SMALL
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("알 수 없는 에러가 발생하였습니다.")
    print(err)

 

try:
    print("한 자리 숫자 나누기 전용 계산기 입니다.")
    num1 = int(input("첫 번째 숫자를 입력하세요 : "))
    num2 = int(input("두 번째 숫자를 입력하세요 : "))
    if num1 >= 10 or num2 >= 10:
        raise ValueError
    print("{0} / {1} = {2}".format(num1, num2, int(num1 / num2)))
except ValueError:
    print("잘못된 값을 입력하였습니다. 한자리 숫자만 입력하세요.")

 

class BigNumberError(Exception):
    def __init__(self, msg):
        self.msg = msg
    
    def __str__(self):
        return self.msg

try:
    print("한 자리 숫자 나누기 전용 계산기 입니다.")
    num1 = int(input("첫 번째 숫자를 입력하세요 : "))
    num2 = int(input("두 번째 숫자를 입력하세요 : "))
    if num1 >= 10 or num2 >= 10:
        raise BigNumberError("입력값 : {0}, {1}".format(num1, num2))
    print("{0} / {1} = {2}".format(num1, num2, int(num1 / num2)))
except ValueError:
    print("잘못된 값을 입력하였습니다. 한자리 숫자만 입력하세요.")
except BigNumberError as err:
    print("에러가 발생하였습니다. 한 자리 숫자만 입력하세요")
    print(err)
finally:
    print("계산기를 이용해 주셔서 감사합니다.")
반응형
LIST

'IT > Python' 카테고리의 다른 글

[python] 표준 입출력 / 다양한 출력 포맷  (2) 2022.11.20
[python] 파일 입출력  (0) 2022.11.19
[python] 파이썬 퀴즈 1  (0) 2022.10.13
[Python] 모듈 & 패키지  (0) 2022.10.01
[Python] 내장함수 & 외장함수  (1) 2022.09.30
Comments