하나 이상의 반복에서 예외가 발생할 수있는 루프가 있습니다. 루프가 완료되기를 원한다면, 다음 예제에서 "raise on 4"에서 발생한 첫 번째 예외가 발생합니다.루프 완료 후 for 루프에서 발생한 첫 번째 예외 발생
예제 코드 :
e = None
for x in range(10):
try:
print x
if x == 4:
raise Exception('raise on 4')
if x == 6:
raise Exception('raise on 6')
except Exception as e:
print e
continue
else:
if e:
raise
출력 :
0
1
2
3
4
raise on 4
5
6
raise on 6
7
8
9
Traceback (most recent call last):
File "<stdin>", line 7, in <module>
Exception: raise on 6
내가 잘되는을 기록 할 로깅 모듈을 사용할 수 있지만 가능하면 첫 번째 예외에 제기하고 싶습니다.
저는 아직 "Python"에 대해 상당히 익숙하지 않기 때문에 "else"문으로 루프를 구성한 방식이 매우 파이썬 적이거나 정확하면 완전히 확신 할 수 없습니다.
'오류 = 없음 .... 예외를 제외하고 전자 같이하지 않을 경우 오류 : 오류 = 전자 ... 경우 오류 : 오류 발생 '. – khachik
또한,'for' 루프에'break'가 없으므로'for' 다음에'else'가 필요 없습니다. 'else'는 루프 조건이 고갈 될 때 실행되고'break '를 사용하여 루프가 끝났을 때 실행되지 않습니다. 그래서 당신의 경우'else'는 완전히 쓸모가 없습니다. – khachik