제로베이스/Python

10. 예외 처리

멍식이 2022. 10. 9. 20:38

Exception

 

Expception은 예외 담당 클래스이다.

 

num1 = int(input("Input number1: "))
num2 = int(input("Input number2: "))

try:
    print(f"num1 / num2 = {num1 / num2}")
except Exception as e:
    print(f"exception: {e}")

print(f"num1 * num2 = {num1 * num2}")
print(f"num1 - num2 = {num1 - num2}")
print(f"num1 + num2 = {num1 + num2}")

 

 

division by zero 에러 출력된 모습

 

raise

 

raise 키워드를 이용하면 예외를 발생시킬 수 있다.이 때, 에러 문구는 본인이 정할 수 있다.

 

def divCalculator(n1, n2):
    if n2 != 0:
        print(f"{n1} / {n2} = {n1 / n2}")
    else:
        raise Exception("에러! 와우!")


num1 = int(input("input numer1: "))
num2 = int(input("input numer2: "))

try:
    divCalculator(num1, num2)
except Exception as e:
    print(f"Exception: {e}")

 

 

 

사용자 예외 클래스

 

Exception 클래스를 상속해서 사용자 예외 클래스를 만들 수 있다.