Python, bu bakımdan Java'ya oldukça benzer. Ancak Python'un İstisnası, Java'nın Fırlatılabilir'i ile karşılaştırılmalıdır.
Fırlatılabilirler her türlü tatta geldikçe - Hata, Çalışma Zamanı Özelliği ve (işaretli) İstisna - Python'unki de öyle (kontrol edilen istisnalar olmasa da).
Dile gelince, bir Hata istisnaidir, bu nedenle kalıtım hiyerarşisi garip değildir.
Yine de Exception ismini pek sevmiyorum. İstisnalar sadece istisnai durumlar (umarız Hatalar gibi) için değil, aynı zamanda kontrol akışının dışına çıkmak için de kullanılır. Çünkü bir İstisna'nın yaptığı budur; normal kontrol akışından işaretli bir noktaya atlar. Biraz goto gibi ama daha rafine.
Bununla birlikte, uygun bir dönüş değerinin bulunmadığı bir durumla karşılaştığınız her seferinde bir İstisna kullanma eğilimindesinizdir. Hem Python'da hem de Java'da.
Warning
. Bakınız cevabımı .