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

파이썬 for 루프 내에서 예외를 처리하는 방법

파이썬에서는 일반 코드 블록과 마찬가지로 for 루프 내부에서도 예외를 처리할 수 있습니다. try-except 문을 루프 본문 안에 작성하면 되는데, 이때 예외가 발생해도 루프 자체는 중단되지 않고 다음 반복이 계속 진행된다는 점이 특징입니다.

기본 사용법

for 루프 안에서 try-except를 사용하는 기본 구조는 다음과 같습니다.

for i in range(5):
    try:
        if i % 2 == 0:
            raise ValueError("some error")
        print(i)
    except ValueError as e:
        print(e)

실행 결과

some error
1
some error
3
some error

동작 원리

위 코드에서는 인덱스 i가 짝수(i % 2 == 0)일 때 ValueError를 강제로 발생시키고, except 블록이 이 예외를 잡아 에러 메시지를 출력합니다. 반대로 홀수일 때는 예외 없이 print(i)가 정상적으로 실행됩니다.

여기서 핵심은 try-except가 루프 내부에 위치한다는 점입니다. 덕분에 각 반복마다 예외가 개별적으로 처리되며, except 블록까지 실행된 후 루프는 다음 반복으로 넘어갑니다. 만약 try-except를 루프 바깥에 두었다면 첫 번째 예외가 발생하는 순간 루프 전체가 중단되었을 것입니다.

활용 팁

  • 반복 작업 중 일부 항목에서 오류가 발생해도 나머지 항목은 끝까지 처리해야 할 때 유용합니다.
  • except 블록에서 예외 객체(e)를 출력하거나 로그로 남기면 어떤 반복에서 문제가 발생했는지 추적하기 쉽습니다.
  • 특정 예외 발생 시 루프를 완전히 종료하고 싶다면 except 블록 안에 break 문을 추가하면 됩니다.