2014-11-27 13 views
5

Python 2'de, İstisna'dan devralmak için gereken raise d olabilecek istisnalar nelerdir?'Denemek ... istisna dışında her bir istisnayı yakalar mı?

olduğunu

, herhangi bir olası durum yakalamak için aşağıdaki yeterlidir:

try: 
    code() 
except Exception as e: 
    pass 

ya sana "yakalamak edeceğiniz ilk varyant ile daha da genel bir şey gibi

try: 
    code() 
except: 
    pass 
+1

Hayır. Fakat işleri yapmak istemediğiniz sürece, bunu da yapma. –

+1

@ IgnacioVazquez-Abrams Eğer kodumda ne olursa olsun programımı kullanmaya devam edersem ne olur? – jaynp

+1

Ardından yanlış platformu kullanıyorsunuz. –

cevap

6

bütün gerekiyor yerleşik, sistem dışı çıkma özel durumları "(https://docs.python.org/2/library/exceptions.html) ve kullanıcı tanımlı istisnaları yakalamalısınız (" kullanıcı tanımlı tüm istisnalar da bu sınıftan türetilmelidir ").

Örneğin, birinci varyant kullanıcı basılı Control-C (KeyboardInterrupt), ama ikinci irade yakalamak olmaz.

+0

İkincisinin her şeyi yakaladığını söylemek güvenli midir? – jaynp

+0

@jpp, yes - "Varsa, ifade dışındaki bir yan tümcesi sonuncu olmalıdır, herhangi bir özel durumla eşleşir." https://docs.python.org/2/reference/compound_stmts.html#except –

İlgili konular