Python에서 가능한 모든 try-finally 블록에 대해 finally
블록이 항상 실행 됩니까?
예를 들어, except
블록 에있는 동안 돌아 왔다고 가정 해 보겠습니다 .
try:
1/0
except ZeroDivisionError:
return
finally:
print("Does this code run?")
아니면 다시 올릴 수도 있습니다 Exception
.
try:
1/0
except ZeroDivisionError:
raise
finally:
print("What about this code?")
테스트 결과 finally
위의 예에서 실행되는 것으로 나타 났지만 생각하지 못한 다른 시나리오가 있다고 생각합니다.
finally
블록이 Python에서 실행되지 않을 수 있는 시나리오가 있습니까?
finally
하면 실행되지 않을 것이라고 확신합니다. D : 또는 같은 컴퓨터 전에 충돌하는 경우
finally
전원 코드가 벽에서 찢어지면 실행되지 않습니다.
finally
실행에 실패하거나 "목적을 무너 뜨리는"경우가 무한 루프sys.exit
또는 강제 인터럽트 동안입니다. 문서의 상태를finally
항상 실행됩니다, 그래서 나는 그와 함께 갈 것입니다.