class BigNumberError(Exception): passtry: print("한 자리 숫자 나누기 전용 계산기입니다.") num1 = int(input("첫 번째 숫자를 입력하세요 : ")) num2 = int(input("두 번째 숫자를 입력하세요 : ")) if num1 >= 10 or num2 >= 10: raise BigNumberError print("{0} / {1} = {2}".format(num1, num2, int(num1 / num2)))except ValueError: print("잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요.")except BigNumberError: print("에러가 발생하였습니다. 한 자리 숫자만 입력하세요.")
num1 = 10, num2 = 5
실행결과는 다음과 같다.
한 자리 숫자 나누기 전용 계산기입니다.첫 번째 숫자를 입력하세요 : 10두 번째 숫자를 입력하세요 : 5에러가 발생하였습니다. 한 자리 숫자만 입력하세요.
Error 발생시 메세지를 같이 넣고 싶은 경우
메세지 : [입력값 : num1, num2]
class BigNumberError(Exception): def __init__(self, msg): self.msg = msg def __str__(self): return self.msgtry: 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)
출력결과는 다음과 같다.
한 자리 숫자 나누기 전용 계산기입니다.첫 번째 숫자를 입력하세요 : 10두 번째 숫자를 입력하세요 : 5에러가 발생하였습니다. 한 자리 숫자만 입력하세요.입력값 : 10, 5