Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 if 문 안에서 예외(Exception)를 처리하는 방법

if 문 내에서 파이썬 예외 처리하기

파이썬에서는 try-except 블록과 if 문을 함께 사용하면 특정 조건에서 발생하는 예외를 효과적으로 처리할 수 있습니다. 아래 예제는 0으로 나누는 상황(ZeroDivisionError)을 if 문으로 검사하고, 예외가 발생하면 이를 잡아(catch) 처리하는 방법을 보여줍니다.

예제 코드

a, b = 5, 0
try:
    if b != 0:
        print(a / b)
    else:
        a / b
        raise ZeroDivisionError
except Exception as e:
    print(e)

실행 결과

division by zero

코드 동작 방식

위 코드의 흐름은 다음과 같습니다.

1. 조건 검사: if 문에서 b != 0 조건을 확인합니다. b가 0이 아니라면 나눗셈 결과를 정상적으로 출력합니다.

2. 예외 발생: b가 0인 경우에는 의도적으로 raise ZeroDivisionError를 호출하여 예외를 발생시킵니다. 실제로 a / b 연산 자체가 0으로 나누기를 시도하기 때문에 파이썬이 자동으로 ZeroDivisionError를 발생시키기도 합니다.

3. 예외 처리: except Exception as e 블록이 발생한 예외를 잡아, 예외 객체 e에 담긴 오류 메시지를 화면에 출력합니다.

핵심 포인트

- try 블록 안에서는 예외가 발생할 가능성이 있는 코드를 작성합니다.
- if 문을 사용하면 예외가 발생하기 전에 조건을 미리 검사할 수 있어 코드의 의도를 더 명확하게 표현할 수 있습니다.
- raise 키워드를 사용하면 개발자가 원하는 시점에 직접 예외를 발생시킬 수 있습니다.
- except 블록에서는 발생한 예외를 받아 로그 출력, 사용자 안내 등 적절한 후속 처리를 수행합니다.

이처럼 if 문과 try-except 구조를 조합하면 프로그램이 비정상적으로 종료되는 것을 방지하고, 오류 상황을 우아하게(gracefully) 처리할 수 있습니다.