SORU
18 Temmuz 2012, ÇARŞAMBA


Neden Python "nihayet" deyimi ihtiyacımız var mı?

try...except...finally tablolar finally ihtiyacımız var neden emin değilim. Benim görüşüme göre, bu kod bloğu

try:
    run_code1()
except TypeError:
    run_code2()
other_code()

bu bir aynı finally kullanarak

try:
    run_code1()
except TypeError:
    run_code2()
finally:
    other_code()

Bir şey mi kaçırdım?

CEVAP
18 Temmuz 2012, ÇARŞAMBA


Eğer erken dönerseniz bir fark yaratıyor

try:
    run_code1()
except TypeError:
    run_code2()
    return None   # The finally block is run before the method returns
finally:
    other_code()

Bu karşılaştırma için:

try:
    run_code1()
except TypeError:
    run_code2()
    return None   

other_code()  # This doesn't get run if there's an exception.

Farklılıklar neden olabilecek diğer durumlar:

  • Eğer bir istisna dışında blok içine atılır.
  • Eğer bir istisna run_code1() ama içinde atılır TypeError bir şey değil.
  • Diğer continue break deyimleri akış kontrol deyimleri.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008
  • jkimisyellow

    jkimisyellow

    6 Mayıs 2009
  • PoreoticsHD

    PoreoticsHD

    22 NİSAN 2010