티스토리 뷰
이번에는 의도적으로 에러를 발생시키는 방법을 공부해보겠습니다.
실제로 에러 상황이 발생한 것이 아니라도 프로그램이 허용하지 않는 동작을 하려고 할 때 의도적으로 에러를 발생시킬 수 있으며 문법은 다음과 같습니다.
raise 에러종류 |
계산기의 종류를 조금 바꿔서 한 자리 숫자에 대해서만 나누기를 할 수 있도록 해보겠습니다. 다만 나눗셈을 하기 전에 사용자로부터 입력받은 값들이 한 자리 숫자가 맞는지 확인하여 조건에 맞지 않을 때는, 즉 10 이상일 때는 의도적으로 ValueError 를 발생시키고 except 를 통해 예외처리를 하도록 하겠습니다.
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("잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요.")
프로그램을 실행시키고 각각 한 자리 숫자인 6 과 2 를 적어보면 정상적으로 3 이 출력되는 것을 볼 수 있습니다.
한 자리 숫자 나누기 전용 계산기입니다. 첫 번째 숫자를 입력하세요: 6 두 번째 숫자를 입력하세요: 2 6 / 2 = 3 |
프로그램을 다시 실행시키고 일부러 에러 상황을 만들기 위해서 첫 번째 숫자를 두 자리인 10 으로 입력하고 두 번째 숫자는 5 라고 해보겠습니다.
한 자리 숫자 나누기 전용 계산기입니다. 첫 번째 숫자를 입력하세요: 10 두 번째 숫자를 입력하세요: 5 잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요. |
이번에는 if 문에 의해서 ValueError 가 발생하였고 이에 따라 예외 처리 구문에 작성한 print() 의 내용이 출력되는 것을 확인할 수 있습니다.
'파이썬 강의 > 기본편' 카테고리의 다른 글
[파이썬 기본편] 10-4.finally (0) | 2021.03.21 |
---|---|
[파이썬 기본편] 10-3.사용자 정의 예외처리 (2) | 2021.03.20 |
[파이썬 기본편] 10-1.예외처리 (0) | 2021.03.18 |
[파이썬 기본편] 9-12.퀴즈 #8 (1) | 2021.03.17 |
[파이썬 기본편] 9-11.스타크래프트 프로젝트 후반전 (6) | 2021.03.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코랩
- 환경설정
- c언어
- game
- Colab
- Unity
- vscode
- pycharm
- 비주얼 스튜디오 코드
- ChatGPT
- Visual Studio Code
- coloso
- 파이게임
- Mac
- 챗GPT
- pygame
- 행맨
- 나도코딩
- 주피터노트북
- repl.it
- onlineclass
- 프롬프트 엔지니어링
- Tkinter
- Xcode
- Coding
- 아나콘다
- GUI
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함