2012-05-11 8 views
10

Será el siguiente código:Python: Uso de continuar en una sentencia try-finalmente en un bucle

while True: 
    try: 
     print("waiting for 10 seconds...") 
     continue 
     print("never show this") 
    finally: 
     time.sleep(10) 

Siempre imprimir el mensaje "en espera de 10 segundos ...", dormir durante 10 segundos, y lo hacen ¿de nuevo? En otras palabras, ¿las instrucciones en las cláusulas finally se ejecutan incluso cuando el ciclo es continue -ed?

+1

¿Ha intentado ejecutarlo? – srgerg

+1

-1 porque se puede verificar experimentalmente en treinta segundos –

+4

@AndrewG., El punto de hacer la pregunta fue para que esta información fuera más fácil de encontrar. Me llevó unos minutos encontrar ese ejemplo. :) –

Respuesta

15

Desde el python docs: 'a la salida'

Cuando una devolución, se ejecuta romper o continuar declaración en la suite intento de tratar un comunicado ... por último, la cláusula finally se ejecuta también un continuar declaración es ilegal en la cláusula finally. (La razón es un problema con la implementación actual; esta restricción puede ser levantada en el futuro).

Cuestiones relacionadas