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

Python에서 예외를 무시하고 계속 진행하는 방법

Python에서 예외를 무시하는 기본 방법

Python 코드를 작성하다 보면 특정 예외가 발생해도 프로그램을 중단하지 않고 계속 실행해야 하는 경우가 있습니다. 이럴 때 try-except 블록을 사용하되, 예외를 별도로 처리하지 않고 그냥 넘어갈 수 있습니다. 대표적인 방법은 다음과 같습니다.

1. pass 문 사용하기

try:
1/0
except:
pass

2. Exception 클래스 지정하기

try:
1/0
except Exception:
pass

두 방법의 차이점

두 방법은 비슷해 보이지만 중요한 차이가 있습니다.

첫 번째 방법(bare except): 아무 조건 없이 except:만 사용하면 except BaseException:을 사용한 것과 동일하게 동작합니다. 이 경우 일반적인 오류뿐만 아니라 KeyboardInterrupt(Ctrl+C 입력), SystemExit처럼 BaseException을 직접 상속받는 시스템 관련 예외까지 모두 잡아냅니다. 따라서 프로그램을 강제로 종료하려는 시도조차 무시될 수 있어 위험합니다.

두 번째 방법(except Exception): Exception 클래스를 명시적으로 지정하면 앞서 언급한 KeyboardInterrupt, SystemExit 같은 시스템 예외는 잡히지 않고, 일반적인 예외만 처리됩니다. 대부분의 경우 이 방식이 더 안전하고 권장됩니다.

pass 문의 역할

pass 문은 Python에서 아무 동작도 하지 않는 빈 문장입니다. except 블록 안에 pass를 작성하면 예외가 발생해도 아무 처리 없이 그대로 건너뛰고 다음 코드를 실행하게 됩니다.

주의 사항

예외를 무시하는 것은 디버깅을 어렵게 만들고, 잠재적인 버그를 숨길 수 있습니다. 가능하다면 except ZeroDivisionError:처럼 구체적인 예외 유형을 지정하고, 필요하다면 로깅(logging)을 남기는 것이 좋은 코딩 습관입니다.