Python에서 예외 없이 시도
Python의 예외는 코드 실행 중에 감지된 오류입니다. 다른 유형의 예외는 NameError
, TypeError
, ZeroDivisionError
, OSError
등입니다.
Python의 try
문은 예외에 대한 코드 블록을 테스트하는 데 사용되며 except
문은 이러한 예외를 처리하는 데 사용됩니다. try
블록의 코드에서 오류가 발생하면 except
블록의 코드가 실행됩니다.
KeyboardInterrupt
, SystemExit
및 GeneratorExit
를 포함한 모든 예외를 포착할 수 있습니다. 이 방법은 일반적인 명령문이고 모든 사소한 버그를 숨길 것이기 때문에 예외를 처리하는 데 사용해서는 안 됩니다.
파이썬에서 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
가 발생하지 않습니다.