IT/Python3
파이썬 예외처리
어센트
2021. 12. 10. 14:54
예외처리
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)
except Exception as err: #위 두 에러를 제외한 나머지 에러의 경우
print("알 수 없는 에러가 발생했습니다.")
print(err)
에러 발생 시키기
try:
print('한 자리 숫자 나누기 전용 계산기')
num1 = int(input('첫 번째 숫자를 입력하세요 :'))
num2 = int(input('두 번째 숫자를 입력하세요 :'))
if num1 >= 10 or num2>= 10:
raise ValueError
print("{}/{}={}".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("입력값:{},{}".format(num1,num2))
print("{}/{}={}".format(num1,num2,int(num1/num2)))
except ValueError:
print('잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요.')
except BigNumberError as err: #사용자 정의 에러
print('에러가 발생하였습니다. 한 자리 숫자만 입력하세요')
print(err)
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("입력값:{},{}".format(num1,num2))
print("{}/{}={}".format(num1,num2,int(num1/num2)))
except ValueError:
print('잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요.')
except BigNumberError as err: #사용자 정의 에러
print('에러가 발생하였습니다. 한 자리 숫자만 입력하세요')
print(err)
finally: #오류가 발생하던 안하던 무조건 거치는 부분
print('계산기를 이용해 주셔서 감사합니다.')