[파이썬] 함수에서 예외 발생과 처리 방법과 예제
함수 내에서 예외(Exception)를 발생시키고 처리하는 방법에 대한 예제를 제공하겠습니다. 함수 내에서 예외를 발생시키는 것은 raise
키워드를 사용하여 가능하며, 예외를 처리하기 위해 try
와 except
블록을 사용합니다.
예제: 함수 내에서 예외 발생과 처리
def divide_numbers(x, y):
try:
result = x / y
except ZeroDivisionError:
# 0으로 나누는 경우 예외 처리
print("오류: 0으로 나눌 수 없습니다.")
result = None # 오류가 발생한 경우 결과를 None으로 설정
except TypeError:
# 잘못된 데이터 형식을 사용하는 경우 예외 처리
print("오류: 잘못된 데이터 형식입니다.")
result = None
return result
# 함수 호출과 예외 처리
result1 = divide_numbers(10, 2)
print("결과 1:", result1) # 출력: 5.0
result2 = divide_numbers(5, 0)
print("결과 2:", result2) # 출력: None, 예외 메시지 출력
result3 = divide_numbers("abc", 2)
print("결과 3:", result3) # 출력: None, 예외 메시지 출력
이 코드에서 divide_numbers
함수는 두 숫자를 나누려 시도하고, try
블록 내에서 예외를 처리합니다. ZeroDivisionError
와 TypeError
예외를 처리하고, 예외가 발생한 경우 메시지를 출력하고 결과를 None
으로 설정합니다. 함수를 호출할 때 다양한 상황에 따라 예외가 발생하고 이를 처리합니다.
함수 내에서 예외를 처리하면 호출하는 쪽에서는 함수가 예외를 발생시켰는지 여부를 알 필요가 없으며, 안정적으로 처리할 수 있습니다.