Python에서 예외 없이 시도

Samyak Jain 2022년4월1일
Python에서 예외 없이 시도

Python의 예외는 코드 실행 중에 감지된 오류입니다. 다른 유형의 예외는 NameError, TypeError, ZeroDivisionError, OSError 등입니다.

Python의 try 문은 예외에 대한 코드 블록을 테스트하는 데 사용되며 except 문은 이러한 예외를 처리하는 데 사용됩니다. try 블록의 코드에서 오류가 발생하면 except 블록의 코드가 실행됩니다.

KeyboardInterrupt, SystemExitGeneratorExit를 포함한 모든 예외를 포착할 수 있습니다. 이 방법은 일반적인 명령문이고 모든 사소한 버그를 숨길 것이기 때문에 예외를 처리하는 데 사용해서는 안 됩니다.

파이썬에서 except 없이 try 블록을 사용하는 방법에 대해 논의할 것입니다. 이를 달성하려면 예외를 무시해야 합니다.

except 없이 try 블록을 가질 수 없기 때문에 except 블록에 코드가 들어가지 않도록 예외를 무시하고 except 블록에 pass 문을 지정하는 방법밖에 없다. pass 문은 코드 빈 줄에 해당합니다.

finally 블록을 사용할 수도 있습니다. 예외 발생 여부에 관계없이 코드를 실행합니다.

try:
    a = 1 / 0
except:
    pass
finally:
    print("Example")

출력:

Example

위의 코드에서 try 블록에서 오류가 발생하면 except 블록은 발생한 예외를 인쇄합니다.

예외를 무시하려면 contextlib 모듈의 suppress() 함수를 사용하여 Python에서 예외를 처리할 수 있습니다.

contextlib 모듈의 suppress() 함수는 매우 구체적인 오류를 억제하는 데 사용할 수 있습니다. 이 방법은 Python 3에서만 사용할 수 있습니다.

예를 들어,

from contextlib import suppress

with suppress(IndexError):
    a = [1, 2, 3]
    a[3]

위의 예에서는 IndexError가 발생하지 않습니다.

관련 문장 - Python Exception