inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

사용자 정의 예외처리

맨 마지막 줄 print(err)이 어떻게 raise 를 불러낸 것인가요?

212

katherine

작성한 질문수 5

0

질문이 있습니다!!

except BigNumberError: 만 있었는데 마지막에 as err를 추가 하고, 맨 마지막 줄 print(err)을 넣어주셨는데요. 

어떻게 print(err)가 raise BigNumberError("입력값 : {0}, {1}".format(num1, num2))를 부른 것인가요?

raise BigNumberError()은 물론이고 try: 안의 코드 중 그 어떤 것도 err 와 관련성 있는 것을 모르겠습니다.

class BigNumberError(Exception):
    def __init__(selfmsg):
        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)

python

답변 1

1

종현

except BigNumberError as err:

이 부분에서 as err을 썼는데, as는 별명붙여주는 기능이라 생각하심 되어요. 그래서 

BigNumberError 를 이제부터 err로 하겠다. 라고 한 뒤 err을 사용한거죠.

quiz 8 오류 문제

0

68

1

str() 작성 위치

0

48

1

아나콘다

0

60

1

윈도우 설치 도와주세요

0

73

1

std_weight함수에서weight만return가능한가요?

0

66

1

오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.

0

33

1

설치해서 시작하는데 문제가 있습니다.

0

68

1

함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?

0

102

1

2장 환경설정 문의

0

72

1

스타크래프트 프로젝트

0

74

1

python 파일명.py 입력시 Python 출력

0

133

1

로드맵 질문있습니다!

0

84

2

오류

0

74

1

질문 있습니다.

0

73

1

블로그에 학습한 내용을 정리해도 괜찮을까요?

0

171

1

#퀴즈 3의 5번 질문

0

71

1

print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다

0

80

1

가변인자의 위치가 중요한가요?

0

79

1

vscode옛날 버전 설치

0

219

1

글자색상이 선생님처럼 안나옵니다

0

185

1

슬프네

0

155

1

quiz 6번 관련 문의입니다.

0

129

1

퀴즈#3에 대해서 이렇게 작성해도 되나요?

0

192

1

피드백 부탁드립니다

0

90

1