Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 SystemExit 예외를 잡는 방법은 무엇입니까?


파이썬 문서에서 SystemExit는 Exception 클래스의 하위 클래스가 아닙니다. BaseException 클래스는 SystemExit의 기본 클래스입니다. 따라서 주어진 코드에서 Exception을 BaseException으로 대체하여 코드가 작동하도록 합니다.

예시

try:
raise SystemExit
except BaseException:
print "It works!"

출력

It works!

예외는 StandardError 또는 Exception 대신 BaseException을 상속하므로 Exception을 catch하는 코드에 실수로 catch되지 않습니다.

코드를 이런 식으로 작성하는 것이 좋습니다.

예시

try:
raise SystemExit
except SystemExit:
print "It works!"

출력

It works!