[파이썬] except 블록과 에러 정보 출력

오늘 우리는 Python에서 try-except 문을 사용하여 에러를 처리하는 방법을 알아볼 것입니다. try-except 문은 코드 블록에서 에러가 발생할 때 프로그램이 중단되지 않고 계속 실행되도록 해줍니다. 또한 에러 메시지를 출력하여 디버깅에 도움을 줍니다.

예시 코드

다음은 예시 코드입니다. 이 코드에서는 ZeroDivisionError 에러를 다루고 있습니다.

try:
    x = 10 / 0
except ZeroDivisionError as e:
    print(f"에러가 발생했습니다: {e}")

위 코드에서 try 블록 안의 코드는 ZeroDivisionError 에러를 발생시킬 수 있는 코드입니다. except 블록은 ZeroDivisionError 에러가 발생하면 실행되며, 에러 메시지를 출력합니다.

다중 Except 블록

try-except 문에서는 다중의 except 블록을 사용하여 여러 종류의 에러를 처리할 수도 있습니다.

try:
    # Some code that may raise different types of errors
except ZeroDivisionError as e:
    # Error handling for ZeroDivisionError
except FileNotFoundError as e:
    # Error handling for FileNotFoundError
except Exception as e:
    # Generic error handling for all other exceptions
    print(f"에러가 발생했습니다: {e}")

위 코드에서 except ZeroDivisionError 블록은 ZeroDivisionError 에러를 처리하고, except FileNotFoundError 블록은 해당 에러를 처리하고, except Exception 블록은 모든 기타 예외를 처리합니다.

else 블록

try-except 문에는 else 블록을 추가할 수도 있습니다. 이 블록은 try 블록에서 예외가 발생하지 않았을 때 실행됩니다.

try:
    # Some code that may raise an error
except ZeroDivisionError as e:
    # Error handling for ZeroDivisionError
else:
    # Code to be executed if no error occurred

위 코드에서 else 블록은 try 블록에서 예외가 발생하지 않았을 때 실행되며, 에러가 발생하지 않은 경우에만 실행됩니다.

finally 블록

마지막으로, try-except 문에는 finally 블록을 추가할 수도 있습니다. 이 블록은 항상 실행되며 예외 발생 여부에 상관없이 실행됩니다.

try:
    # Some code that may raise an error
except ZeroDivisionError as e:
    # Error handling for ZeroDivisionError
finally:
    # Code to be executed regardless of whether an error occurred or not

위 코드에서 finally 블록은 try 블록에서 예외 발생 여부와 상관없이 항상 실행됩니다.

이렇게 try-except 문을 사용하여 코드를 보다 안정적으로 실행하고, 에러 메시지를 출력하여 디버깅에 도움을 줄 수 있습니다. 예외 처리는 프로그램의 신뢰성을 향상시키는 중요한 요소입니다.