Python İstisna İşleme: dene, yakala, sonunda ve yükselt [Örnek]
İstisna İşleme Nedir? Python?
İstisna, bir programın yürütülmesi sırasında meydana gelen bir hatadır. Ancak bir programı çalıştırırken Python programınızın çökmesini önlemek için ele alınması gereken bir istisna oluşturur. İçinde Python dil, istisnalar hata durumunda otomatik olarak tetiklenir veya kodunuz tarafından tetiklenebilir ve durdurulabilir.
İstisna, olay meydana gelse de bu tür olayların nadiren gerçekleştiğini gösterir. Yöntem istisnayı işleyemediğinde, çağıran işlevine atılır. Sonunda, ana işlevden bir istisna atıldığında program aniden sonlandırılır.
Yaygın İstisna Örnekleri
- Sıfıra bölüm
- Mevcut olmayan bir dosyaya erişim.
- İki uyumsuz türün eklenmesi
- Bir dizinin var olmayan bir dizinine erişmeye çalışılıyor
- Tablonun bağlantısı kesilen veritabanı sunucusundan kaldırılması.
- Mevcut tutardan fazlasının ATM'den çekilmesi
Neden İstisnaları kullanmalısınız?
İstisnaları kullanmanın nedenleri şunlardır: Python:
- İstisna işleme, hata işleme kodunu normal koddan ayırmanıza olanak tanır.
- Bir istisna, bir Python nesne bu bir hatayı temsil eder.
- Kod yorumlarında olduğu gibi istisnalar da programın ne beklediğini kendinize hatırlatmanıza yardımcı olur.
- Kodu netleştirir ve okunabilirliği artırır.
- Hata işleme tek bir yerde ve tek bir şekilde gerçekleştiğinden sonuçları harekete geçirmenize olanak tanır.
- Bir istisna, hata mesajlarını işlemek için uygun bir yöntemdir.
- In Python, istisnayı yükseltme yöntemini kullanarak programda bir istisna oluşturabilirsiniz.
- Bir istisna oluşturmak, geçerli kod yürütmesini kırmanıza yardımcı olur ve istisnayı, işlenene kadar beklentiye geri döndürür.
- Kendilerini doğrudan işleyemeyen bileşenler için istisnaların işlenmesi.
İstisna Kuralları
İşte bazı temel kurallar Python istisna yönetimi:
- İstisnalar sınıf nesneleri olmalıdır
- Sınıf istisnaları için try deyimini, belirli bir sınıftan bahseden bir istisna cümlesiyle birlikte kullanabilirsiniz.
- Bir ifade veya ifade sözdizimsel olarak doğru olsa bile, onu yürütmeye çalışıldığında bir hata görüntüleyebilir.
- Yürütme sırasında bulunan hatalara istisna denir ve bunlar koşulsuz olarak ölümcül değildir.
Python İstisna İşleme Mekanizması
İstisna yönetimi aşağıdaki 5 anahtar kelime tarafından yönetilir:
- denemek
- yakalamak
- nihayet
- atmak
Python Açıklamayı Deneyin
Bir try deyimi, try anahtar sözcüğünü, ardından iki nokta üst üste (:) ve istisnaların oluşabileceği bir kod paketini içerir. Bir veya daha fazla cümlesi vardır.
Try ifadesinin yürütülmesi sırasında, eğer hiçbir istisna oluşmazsa, yorumlayıcı söz konusu try ifadesi için istisna işleyicilerini yok sayar.
Herhangi bir try paketinde istisna meydana gelmesi durumunda try paketi sona erer ve program kontrolü try paketini takip eden eşleşen except işleyicisine aktarılır.
Syntax: try: statement(s)
Yakalama beyanı
Catch blokları her seferinde bir argüman alır; bu da yakalaması muhtemel istisna türüdür. Bu argümanlar, belirli bir istisna türünden, her şeyi kapsayan bir istisna kategorisine kadar değişebilir.
Catch bloğu için kurallar:
- catch anahtar sözcüğünü kullanarak bir catch bloğu tanımlayabilirsiniz.
- İstisnayı Yakala parametresi her zaman parantez içine alınır
- Her zaman blok tanıtıcılarını yakalayan istisna türünü temsil eder.
- İki {} küme parantezi arasına bir istisna işleme kodu yazılır.
- Tek bir try bloğunun içine birden fazla catch bloğu yerleştirebilirsiniz.
- Catch bloğunu ancak try bloğundan sonra kullanabilirsiniz.
- Tüm catch bloğu alt sınıftan üst sınıfa doğru sıralanmalıdır.
Örnek:
try } catch (ArrayIndexOutOfBoundsException e) { System.err.printin("Caught first " + e.getMessage()); } catch (IOException e) { System.err.printin("Caught second " + e.getMessage()); }
Sonunda Açıklama Python
Son olarak blok, bir istisnanın atılıp atılmamasına bakılmaksızın her zaman yürütülür. final anahtar sözcüğü, try-catch bloğunu takip eden bir kod bloğu oluşturmanıza olanak tanır.
Son olarak madde isteğe bağlıdır. Her koşulda uygulanması gereken temizleme eylemlerinin tanımlanması amaçlanmaktadır.
try: raise KeyboardInterrupt finally: print 'welcome, world!' Output Welcome, world! KeyboardInterrupt
Son olarak, yan tümce try deyiminden önce yürütülür.
Açıklamayı Yükselt Python
Raise ifadesi, istisna nesnesini başlatan bir argümanı belirtir. Burada istisna adının ardından virgül gelir ve virgülden sonra gelen argümanın argümanı veya tuple'ı.
Sözdizimi:
raise [Exception [, args [, traceback]]]
Bu sözdiziminde argüman isteğe bağlıdır ve yürütme sırasında istisna argümanının değeri her zaman yok olur.
Örnek:
A Python istisna bir dize, sınıf, sayı veya nesne gibi herhangi bir değer olabilir. tarafından gündeme getirilen bu istisnaların çoğu Python çekirdek, sınıfın bir örneği olan bir argümana sahip sınıflardır.
Hatırlatma Python Hatalar
Hata Tipi | Açıklama |
---|---|
Aritmetik Hata | ArithmeticError, tüm aritmetik istisnalar için temel sınıf görevi görür. Aritmetik işlemlerdeki hatalar için yükseltilir. |
İçe Aktarma Hatası | Mevcut olmayan bir modülü içe aktarmaya çalıştığınızda ImportError hatası ortaya çıkar. Bu tür bir istisna, modül adında veya standart yolda bulunmayan modülde yazım hatası yaptıysanız ortaya çıkar. |
Dizin Hatası | Aralık dışında olan bir diziye başvurmaya çalıştığınızda bir IndexErroris ortaya çıkar. |
Anahtar Hatası | Sözlükte belirli bir anahtar bulunmadığında KeyError istisnası ortaya çıkar. |
İsim Hatası | Yerel veya genel ad alanında hiçbir zaman bulunmayan bir ad kodda belirtildiğinde bir NameError ortaya çıkar. |
Değer Hatası | Bir işlev veya yerleşik işlem, doğru türde olabilecek ancak uygun değere sahip olmayan bir bağımsız değişken aldığında değer hatası ortaya çıkar. |
EOF hatası | Bu tür bir hata, yerleşik işlevlerden biri (input() veya raw_input()) herhangi bir veri okumadan bir EOF koşuluna ulaştığında ortaya çıkar. |
Sıfır Bölme Hatası | Sıfıra bölme veya modülasyon sırasında ortaya çıkan bu tür hata, tüm sayısal türler için gerçekleşir. |
IOError- | Bu tür bir hata, bir giriş/çıkış işlemi başarısız olduğunda ortaya çıkar. |
sözdizimi hatası | Bir hata olduğunda ortaya çıkan SyntaxErrors Python sözdizimi. |
Girinti Hatası | Girinti doğru şekilde tanımlanmadığında ortaya çıkan bu hata |
Diğer Önemli Python İstisnalar
Istisna | Açıklama |
---|---|
Aritmetik İstisna | Sıfıra bölme gibi aritmetik hatalar. |
ArraylndexOutOfBoundsException | Dizi dizini sınırların dışında. |
ArrayStoreException | Atama, uyumsuz türdeki dizi öğesini bulmanızda size yardımcı olur. |
ClassCastException | Geçersiz yayın |
MlegalMonitorStateException | Kilidi açılmış bir iş parçacığını beklemek gibi yasa dışı izleme işlemi. |
MlegalStateException | Ortam veya uygulama yanlış durumda. |
ClassNotFoundException | Sınıf bulunamadı. |
KlonDesteklenmeyen İstisna | Klonlanabilir arayüzü uygulamayan bir nesneyi klonlamaya çalışın. |
Yasadışı Erişim İstisnası | Bir sınıfa erişim reddedildi. |
Örnekleme İstisnası | Bir arabirimin veya soyut sınıfın bir nesnesini oluşturmaya çalıştığınızda gerçekleşir. |
KlonDesteklenmeyen İstisna | Arayüzü uygulamayan bir nesneyi klonlamaya çalışın. |
Hata ve İstisnalar
Hata | İstisnalar |
---|---|
Tüm hatalar Python işaretlenmemiş türdür. | İstisnalar, hem işaretli hem de işaretsiz türü içerir. |
Çalışma zamanında derleyicinin bilmediği hatalar meydana gelir. | İstisnalar, try-catch blokları yardımıyla ele alınarak kurtarılabilir. |
Hatalar çoğunlukla uygulamanın çalıştığı ortamdan kaynaklanır. | Uygulamanın kendisi istisnalara neden olur. |
Örnekler: Yetersiz Bellek Hatası |
Örnekler: İşaretlenen İstisnalar, SQL istisnası, NullPointerException, vb. |
ÖZET
- Bir istisna, bir programın yürütülmesi sırasında meydana gelen bir hatadır.
- İstisna, olay meydana gelse de bu tür olayların nadiren gerçekleştiğini gösterir.
- Yaygın İstisna Örnekleri: 1) Sıfıra Bölme, 2) Var olmayan bir dosyaya erişim, 3) Uyumsuz iki türün eklenmesi.
- Bir istisna, bir Python Bir hatayı temsil eden nesne.
- Bir try deyimi, try anahtar sözcüğünü, ardından iki nokta üst üste (:) ve istisnaların oluşabileceği bir kod paketini içerir. Bir veya daha fazla cümlesi vardır.
- Catch blokları her seferinde bir argüman alır; bu da yakalaması muhtemel istisna türüdür.
- Raise ifadesi, istisna nesnesini başlatan bir argümanı belirtir.
- Son olarak blok, bir istisnanın atılıp atılmamasına bakılmaksızın her zaman yürütülür.