파이썬 문법 정리3 (나도코딩)

최창환·2022년 2월 22일
0
post-thumbnail

나도코딩 파이썬 코딩 무료 강의를 듣고 파이썬 문법의 전반적인 것들을 정리하면서 복습해보았다.


사용자 정의 예외처리

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("계산기를 이용해주셔서 감사합니다.")

사실 BigNumberError 의 init() 생성자와 str() 메소드는 따로 정의하지 않고 그냥 pass 로만 두어도 동일하게 동작하지만 생성자에서 추가로 어떤 작업을 해야 한다거나 str() 메소드에서 에러 메시지를 에러 코드 등과 함께 출력하고 싶은 경우에 다음과 같이 코드를 수정할 수 있다.

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

    def __str__(self):
        return "[에러코드 001] " + self.msg # 에러 메시지 가공
 
profile
포기하지 않는 개발자

0개의 댓글