SORU
24 HAZİRAN 2011, Cuma


Yakalamak birden fazla satır istisnalar (blok hariç)

Yapabileceğimi biliyorum:

try:
    # do something that may fail
except:
    # do this if ANYTHING goes wrong

Ayrıca bunu yapabilirim:

try:
    # do something that may fail
except IDontLikeYourFaceException:
    # put on makeup or smile
except YouAreTooShortException:
    # stand on a ladder

Ama eğer iki farklı durumlar içinde aynı şeyi yapmak istiyorum, şu an aklıma gelen en iyi bunu yapmak için

try:
    # do something that may fail
except IDontLIkeYouException:
    # say please
except YouAreBeingMeanException:
    # say please

Bu iki özel durumlar için eylem 9 ** olduğundan () gibi bir şey yapabileceğim herhangi bir şekilde:

try:
    # do something that may fail
except IDontLIkeYouException, YouAreBeingMeanException:
    # say please

Şimdi bu gerçekten sözdizimi uyuyor gibi işe yaramaz:

try:
    # do something that may fail
except Exception, e:
    # say please

Yani, iki ayrı özel durumları yakalamak için çaba pek gelmiyor.

Bunu yapmanın bir yolu var mı?

CEVAP
24 HAZİRAN 2011, Cuma


Köşeli parantez:

except (IDontLIkeYouException, YouAreBeingMeanException) as e:
    pass

Virgül ile değişken durum ayıran hala Python 2.6 ve 2.7, ama artık önerilmiyor ve 3; as kullanmanız gerektiğini, şimdi Python çalışmıyor.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • guau . .

    guau . .

    25 Ocak 2008
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011