파이썬에서 반복 건너 뛰기


159

루프가 진행되지만 루프 내부에서 예외가 발생할 가능성이 있습니다. 이것은 물론 내 프로그램을 모두 중지시킬 것입니다. 이를 방지하기 위해 예외를 잡아서 처리합니다. 그러나 예외가 발생하더라도 나머지 반복이 실행됩니다. except:현재 반복의 나머지 부분을 건너 뛰기 위해 내 절 에 사용할 키워드가 있습니까?


4
허용 된 답변 (use continue)이 예외를 어떻게 잡는 지 보지 못했지만 수락되었습니다. 따라서 질문은 정말 혼란 스럽습니다.
S.Lott

@ S.Lott 예외를 잡기 위해 키워드가 필요하지 않습니다. 총 코드의 일반적인 흐름에 대해서만 이야기하고있었습니다.
The.Anti. 9

@ The.Anti.9. 뭐? 먼저 "예외를 잡아 내고 싶다"고 말했다. 이제 "예외를 잡기 위해 키워드가 필요하지 않습니다"라고 말합니다. 어떤 식 으로든 이것을 명확히 할 수 있습니까?
S.Lott

1
@ S.Lott. 키워드로 예외를 잡을 필요는 없습니다. 코드에있는 진술을 제외하고는 시도
만하면됩니다

1
허용 된 답변과 더 잘 어울리도록 질문을 다시 작성했습니다.
jilles de wit

답변:




17

이 같은?

for i in xrange( someBigNumber ):
    try:
        doSomethingThatMightFail()
    except SomeException, e:
        continue
    doSomethingWhenNothingFailed()

1
통과하지 않고 계속 사용하도록 편집했습니다.
jilles de wit

16

계속의 예 :

number = 0

for number in range(10):
   number = number + 1

   if number == 5:
      continue    # continue here

   print('Number is ' + str(number))

print('Out of loop')

산출:

Number is 1
Number is 2
Number is 3
Number is 4
Number is 6 # Note: 5 is skipped!!
Number is 7
Number is 8
Number is 9
Number is 10
Out of loop


5

이 특정 사용 사례를 사용하는 try..except..else것이 가장 깨끗한 솔루션이므로 else예외가 발생하지 않으면 절이 실행됩니다.

참고 : else조항은 모든 except조항을 따라야합니다.

for i in iterator:
    try:
        # Do something.
    except:
        # Handle exception
    else:
        # Continue doing something
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.