Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 try, except, else 문으로 예외 처리하는 방법

try-except-else란?

파이썬에서 예외(exception)를 처리하는 가장 일반적인 방법은 try-except 블록을 사용하는 것입니다. 여기에 더해 except 절 뒤에 선택적으로 else 절을 추가할 수도 있습니다.

else 블록 안의 문장은 try 블록에서 아무런 예외도 발생하지 않았을 때에만 실행됩니다. 즉, 제어 흐름이 try 절의 끝까지 정상적으로 도달한 경우에 실행되며, 예외가 발생하거나 return, continue, break 문이 실행되는 경우에는 건너뛰게 됩니다.

else 절을 사용하는 이유

else 절을 활용하면 try 블록에서 발생한 예외와 그 외 코드에서 발생한 예외를 명확하게 구분할 수 있어, 코드의 가독성과 유지보수성이 향상됩니다.

예제 코드

리스트의 특정 인덱스에 접근하는 간단한 예제입니다.

a = [11, 8, 9, 2]
try:
    foo = a[3]
except:
    print("index out of range")
else:
    print("index well within range")

위 코드에서 인덱스 3은 리스트 범위(0~3) 안에 있으므로 예외가 발생하지 않습니다. 따라서 except 블록은 건너뛰고 else 블록이 실행됩니다.

실행 결과

index well within range

만약 존재하지 않는 인덱스(예: a[10])에 접근했다면 IndexError가 발생하여 "index out of range"가 출력되고, else 블록은 실행되지 않습니다.

정리

try-except-else 구문을 사용하면 예외가 발생한 경우와 정상적으로 실행된 경우를 깔끔하게 분기 처리할 수 있습니다. 필요에 따라 마지막에 finally 절을 추가하면 예외 발생 여부와 관계없이 항상 실행해야 하는 코드(예: 파일 닫기, 리소스 해제)도 함께 처리할 수 있습니다.