(python) ZeroDivisionError, try - except 블록

2023. 4. 21. 14:52학습/python

ZeroDivisionError는 파이썬에서 0으로 나누려고 할 때 발생하는 예외입니다. 

나눗셈 연산자(/), 몫 연산자(//), 나머지 연산자(%) 등을 사용하여 숫자를 0으로 나누려고 하면 이 예외가 발생합니다.

 

x = 10
y = 0
result = x / y  # ZeroDivisionError 발생

이 예외를 처리하려면 try-except 블록을 사용하여 예외를 처리할 수 있습니다.

x = 10
y = 0

try:
    result = x / y
except ZeroDivisionError:
    print("Cannot divide by zero!")
    result = None

print("Result:", result)

위 코드에서 try 블록 내에서 0으로 나누는 연산을 시도했기 때문에 ZeroDivisionError가 발생합니다.

이 예외가 발생하면 except 블록의 코드가 실행되어 "Cannot divide by zero!"라는 메시지를 출력하고, result 변수에 None을 할당합니다. 이렇게 하면 프로그램이 예외 발생 시 종료되지 않고 정상적으로 계속 실행됩니다.

 

원론적으로는 try - except 블록을 사용하면
지정하지 않은 다른 에러가 발생하는지 모를수 있으므로
try:
    result = x / y
except:  # 모든 예외를 처리하려고 함
    print("An error occurred!")
    result = None​

 이런식으로는 사용하지 않는 것을 권장한다.

 

728x90