2012-05-11 36 views
10

Will đoạn mã sau:Python: Sử dụng tiếp tục trong một tuyên bố thử-cuối cùng trong một vòng lặp

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

Luôn in thông điệp "chờ đợi 10 giây ...", ngủ trong 10 giây, và làm điều đó lần nữa? Nói cách khác, làm các câu lệnh trong các mệnh đề finally chạy ngay cả khi vòng lặp là continue -ed?

+1

Các bạn đã thử chạy nó? – srgerg

+1

-1 vì nó có thể được xác minh bằng thực nghiệm trong ba mươi giây –

+4

@AndrewG., Điểm đặt câu hỏi là để thông tin này dễ tìm thấy hơn. Tôi mất vài phút để đưa ra ví dụ đó. :) –

Trả lời

15

Từ python docs: 'trên đường ra'

Khi quay trở lại, phá vỡ hoặc tiếp tục tuyên bố được thực hiện trong bộ ứng dụng thử một thử ... cuối cùng tuyên bố, mệnh đề cuối cùng cũng được thực hiện Một tiếp tục tuyên bố là bất hợp pháp trong điều khoản cuối cùng. (Lý do là một vấn đề với việc thực hiện hiện tại - hạn chế này có thể được dỡ bỏ trong tương lai).

Các vấn đề liên quan