일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 문자열 함수
- Pickle
- 머신러닝 입문 강좌 | TEAMLAB X Inflearn |
- postgresql
- 디지털 검색광고
- 티스토리챌린지
- dbeaver
- 양승화
- pgAdmin
- dvdrental
- search ads
- GA4
- ndarray
- 파이썬 코딩 무료 강의 (기본편) - 6시간 뒤면 여러분도 개발자가 될 수 있어요 [나도코딩]
- sql
- 오블완
- 퍼포먼스 마케팅
- EXCEPT
- 파이썬
- PYTHON
- 외장함수
- b2b 마케팅
- inflearn
- Def
- 검색광고 캠페인
- 숫자형
- google sa
- 데이터 전처리
- MAC
- preprocessing
- Today
- Total
Maron's DATA Log
[Python] 예외처리 - Try / Except / Finally 본문
# 예외처리
1.
try:
print("나누기 전용 계산기입니다.")
nums = [ ]
num1 = int(input("첫 번째 숫자를 입력하세요 : "))
num2 = int(input("두 번째 숫자를 입력하세요 : "))
print("{0} / {1} = {2}".format(num1, num2, int(num1/num2)))
except ValueError:
print("에러! 잘못된 값을 입력하였습니다.")
except ZeroDivisionError as err:
print(err)
2.
try:
print("나누기 전용 계산기입니다.")
nums = [ ]
nums.append(int(input("첫 번째 숫자를 입력하세요 : ")))
nums.append(int(input("두 번째 숫자를 입력하세요 : ")))
nums.append(int(nums[0] / nums[1]))
print("{0} / {1} = {2}".format(nums[0], nums[1], nums[2]))
except ValueError:
print("에러! 잘못된 값을 입력하였습니다.")
except ZeroDivisionError as err:
print(err)
3.
try:
print("나누기 전용 계산기입니다.")
nums = [ ]
nums.append(int(input("첫 번째 숫자를 입력하세요 : ")))
nums.append(int(input("두 번째 숫자를 입력하세요 : ")))
print("{0} / {1} = {2}".format(nums[0], nums[1], nums[2]))
except ValueError:
print("에러! 잘못된 값을 입력하였습니다.")
except ZeroDivisionError as err:
print(err)
except Exception as err:
print("알 수 없는 에러가 발생하였습니다.")
print(err)
# 에러 발생시키기
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("잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요.")
# 사용자 정의 예외처리
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)
# try ~ finally
: 예외처리 중 정상적으로 수행되건, 오류가 발생하건 상관 없이 무조건 실행되는 구문
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("계산기를 이용해 주셔서 감사합니다.")
'Python' 카테고리의 다른 글
[Python] NumPy (0) | 2020.12.02 |
---|---|
[Python] 모듈, 패키지, 내장함수, 외장함수 (0) | 2020.12.01 |
[Python] 클래스 / 메소드 (Method) / 상속 (0) | 2020.12.01 |
[Python] 입출력 (0) | 2020.11.30 |
[Python] 함수 (0) | 2020.11.30 |