# ZeroDivisionError : division by zero !
def div(n1, n2):
return n1 / n2
div(10, 0)
예외처리: 발생된 예외를 별도 처리함으로써 프로그램 전체의 실행에 문제가 없게함.
n1 = 10; n2 = 0
try:
print(n1 / n2)
except:
print("예상하지 못한 예외가 발생했습니다.")
print("다음 프로그램이 정상 실행됩니다.")
print(n1 * n2)
nums = []
n = 1
while n < 6:
try:
num = int(input("input number : "))
except:
print("예외발생")
continue
# 예외가 발생하지 않으면 else 내용 실행
else:
if num % 2 ==0:
nums.append(num)
n += 1
else:
print("입력한 숫자는 홀수 입니다 다시 입력하세요")
continue
try:
inputData = input('inpt number')
numInt = int(inputData)
except:
print('exception raise')
numInt = 0
else:
if numInt % 2 == 0:
print("even")
else:
print("odd")
finally:
print(f"inputData : {inputData}") # 항상 실행된다
num1 = int(input("num1"))
num2 = int(input("num2"))
try:
print(f"num1 / num2 : {num1/num2}")
# 어떤 예외인지 출력해줌
except Exception as e:
print(f"exception : {e}")
def divCal(n1, n2)
if n2 != 0:
print(n1 / n2)
else:
raise Exception("0으로 나눌 수 없습니다.")
num1 = int(input("num 1"))
num2 = int(input("num 2"))
try:
divCal(num1, num2)
except Exception as e:
print(f"Exception : {e}")
class NotUseZeroException(Exception):
def __init(self, n):
super.().__init__(f'{n}은 사용할 수 없습니다')
def divCal(num1 , num2):
if num2 == 0:
raise NotUseZeroException(num2)
else:
print(f"{num1} / {num2} = {num1 / num2}")