더북(TheBook)

 

39 raise

 

 

<강의보기> 06:31

이번 시간에는 예외를 직접 일으키는 방법을 알아보겠습니다.

프로그래밍을 하다 보면, 특히 다른 코드에서 쓸 함수나 모듈을 만들다 보면 예외를 직접 일으키고 싶은 때가 있습니다. 예제를 보면서 첫 번째 이유를 알아보겠습니다. 시작하기 전에 파일 이름을 raise.py로 저장합니다.

가위바위보의 승패를 판정하는 rsp 함수를 만든다고 가정하겠습니다. 변수 mineyours로 내가 낸 패와 상대방이 낸 패를 입력받습니다. 승패를 판정하는 코드가 있더라도 mine이나 yours에 가위바위보가 아닌 값이 들어오지 않도록 해야 합니다. 따라서 다음과 같이 받아 온 값이 올바른지 미리 검사합니다.

 

코드 raise.py

def rsp(mine, yours):
    allowed = ['가위', '바위', '보']
    if mine not in allowed: # allowed 안에 없다면(잘못된 값이라면)
        raise ValueError    # 값 오류를 발생시킵니다.
    if yours not in allowed:
        raise ValueError
 
rsp('가위', '바')           # 일부러 '바'라는 잘못된 값을 넣습니다.

 

실행 결과

Traceback (most recent call last):

    File "raise.py", line 8, in <module>

        rsp('가위', '바')

  File "raise.py", line 6, in rsp

    raise ValueError

ValueError

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.