Python에서 모든 예외 포착

Manav Narula 2023년10월10일
  1. Exception클래스를 사용하여 Python의 모든 예외 포착
  2. BaseException클래스를 사용하여 Python의 모든 예외 포착
Python에서 모든 예외 포착

예외를 처리하기 위해tryexcept블록을 사용합니다. try블록에는 예외를 발생시킬 수있는 일부 코드가 포함되어 있습니다. 예외가 발생하면except블록에서 실행할 수있는 대체 코드를 지정할 수 있습니다. 우리는 다른 예외에 대해 여러 개의except문을 갖는 파이썬에 다른 유형의 예외가 있다는 것을 알고 있습니다.

예를 들면

try:
    raise ValueError()
except ValueError:
    print("Value Error")
except KeyError:
    print("Key Error")

출력:

Value Error

그러나 때때로 모든 예외를 포착 할 수있는 일반except블록이 필요할 수 있습니다. 이것을 구현하는 것은 매우 간단합니다. except블록에서 특정 예외를 언급하지 않으면 발생할 수있는 모든 예외를 포착합니다.

다음 코드는이를 구현합니다.

try:
    # Your
    # Code
    pass
except:
    print("Exception Encountered")

그러나 일반적으로 무시하려는KeyBoardInterruptSystemExit와 같은 예외도 포착하므로이 메소드를 사용하지 않는 것이 좋습니다.

Exception클래스를 사용하여 Python의 모든 예외 포착

Exception클래스를 잡아서 위에서 언급 한 오류를 피할 수 있습니다. 모든 내장, 비 시스템 종료 예외 및 사용자 정의 예외는 일반적으로이 클래스에서 파생됩니다.

예를 들면

try:
    # Your
    # Code
    pass
except Exception as e:
    print("Exception Encountered")

BaseException클래스를 사용하여 Python의 모든 예외 포착

위의 방법조차도 일부 예외를 생략 할 수 있습니다. 계층 구조의 맨 위에있는BaseException클래스를 사용할 수도 있습니다. 경우에 따라 필요할 수 있으며 다음 코드에서 그 사용을 볼 수 있습니다.

try:
    # Your
    # Code
    pass
except BaseException as e:
    print("Exception Encountered")

이 튜토리얼에서 우리는 완벽하지는 않지만 발생한 예외의 대부분을 잡을 수있는 몇 가지 방법을 논의했습니다. 일반적으로 모든 예외를 포착하는 것은 바람직하지 않으므로 어떤 방법을 사용하든주의하십시오.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Python Exception