Python Özel Durum İşleme: Deneyin, Yakala, Nihayet

İçindekiler:

Anonim

Python'da İstisna Nedir?

Bir istisna, bir programın yürütülmesi sırasında meydana gelen bir hatadır. Bununla birlikte, bir programı çalıştırırken, Python, programınızın çökmesini önlemek için ele alınması gereken bir istisna oluşturur. Python dilinde, istisnalar hatalarda otomatik olarak tetiklenir veya kodunuz tarafından tetiklenebilir ve durdurulabilir.

İstisna, olay meydana gelebilmesine rağmen, bu tür olayların nadiren meydana geldiğ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.

Bu Python istisnai kullanım eğitiminde şunları öğreneceksiniz:

  • Python'da İstisna Nedir?
  • Yaygın İstisna Örnekleri
  • Neden İstisnaları kullanmalısınız?
  • İstisna Kuralları
  • Olağanüstü Taşıma Mekanizması
    • Try İfadesi
    • Catch İfadesi
    • Raise Bildirimi
  • Önemli Python Hataları
  • Diğer Önemli Python İstisnaları
  • Hata ve İstisnalar

Yaygın İstisna Örnekleri:

  • Sıfıra bölüm
  • Var olmayan bir dosyaya erişim.
  • Uyumsuz iki türün eklenmesi
  • Bir dizinin var olmayan bir dizinine erişmeye çalışıyorum
  • Tabloyu bağlantısı kesilen veritabanı sunucusundan kaldırma.
  • Mevcut miktardan fazla ATM'den para çekme

Neden İstisnaları kullanmalısınız?

Python'da istisnaları kullanmanın nedenleri şunlardır:

  • İstisna işleme, hata işleme kodunu normal koddan ayırmanıza olanak tanır.
  • Bir istisna, bir hatayı temsil eden bir Python nesnesidir.
  • Kod yorumlarında olduğu gibi, istisnalar, 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ı teşvik etmenize olanak tanır.
  • Bir istisna, hata mesajlarını işlemek için uygun bir yöntemdir.
  • Python'da, istisna yükseltme yöntemini kullanarak programda bir istisna oluşturabilirsiniz.
  • Bir istisna oluşturmak, geçerli kod yürütmeyi kesmenize yardımcı olur ve işlenene kadar istisnayı beklentiye geri döndürür.
  • Doğrudan işleyemeyen bileşenler için istisnaların işlenmesi.

İstisna Kuralları

Python istisna işlemenin bazı temel kuralları şunlardır:

  • İstisnalar sınıf nesneleri olmalıdır
  • Sınıf istisnaları için, belirli bir sınıftan bahseden bir exclu cümlesi içeren try deyimini kullanabilirsiniz.
  • Bir ifade veya ifade sözdizimsel olarak doğru olsa bile, onu yürütmek için bir girişimde bulunulduğunda bir hata görüntüleyebilir.
  • Yürütme sırasında bulunan hatalar istisna olarak adlandırılır ve kayıtsız şartsız ölümcül değildir.

Olağanüstü Taşıma Mekanizması

İstisna işleme, aşağıdaki 5 anahtar kelime tarafından yönetilir:

  1. Deneyin
  2. yakalamak
  3. en sonunda
  4. atmak

Try İfadesi

Bir try deyimi, try anahtar sözcüğünü, ardından iki nokta üst üste (:) ve istisnaların meydana gelebileceği bir kod paketi içerir. Bir veya daha fazla cümle içerir.

Try ifadesinin yürütülmesi sırasında, herhangi bir istisna oluşmadıysa, yorumlayıcı o özel try ifadesi için istisna işleyicileri yok sayar.

Bir deneme takımında herhangi bir istisna meydana gelirse, deneme takımının süresi dolar ve deneme takımını izleyen işleyici haricinde program denetimi eşleştirmeye aktarılır.

Syntax:try:statement(s)

Catch İfadesi

Yakalama blokları her seferinde bir argüman alır; bu, yakalanması muhtemel istisna türüdür. Bu argümanlar, belirli bir istisna türünden, tümünü yakalama istisnaları kategorisine kadar çeşitlilik gösterebilir.

Yakalama bloğu kuralları:

  • Catch anahtar sözcüğünü kullanarak bir catch bloğu tanımlayabilirsiniz.
  • Catch Exception parametresi her zaman parantez içine alınır
  • Her zaman blok tutamaçlarını yakalayan istisna türünü temsil eder.
  • İki {} kaşlı ayraç arasına bir istisna işleme kodu yazılır.
  • Tek bir deneme bloğuna birden çok yakalama bloğu yerleştirebilirsiniz.
  • Bir catch bloğunu yalnızca try bloğundan sonra kullanabilirsiniz.
  • Tüm catch bloğu, alt sınıftan süper sınıf istisnasına kadar sıralanmalıdır.

Misal:

try}catch (ArrayIndexOutOfBoundsException e) {System.err.printin("Caught first " + e.getMessage()); } catch (IOException e) {System.err.printin("Caught second " + e.getMessage());}

Sonunda Engelle

Son olarak, blok, atılan veya atılmayan bir istisnaya bakılmaksızın her zaman yürütülür. Final anahtar sözcüğü, bir dene-yakala bloğunu izleyen bir kod bloğu oluşturmanıza olanak sağlar.

Son olarak, cümle isteğe bağlıdır. Her koşulda gerçekleştirilmesi gereken temizleme eylemlerinin tanımlanması amaçlanmıştır.

try:raise KeyboardInterruptfinally:print 'welcome, world!'OutputWelcome, world!KeyboardInterrupt

Son olarak, try ifadesinden önce cümleci çalıştırılır.

Raise Bildirimi

Yükseltme ifadesi, istisna nesnesini başlatan bir argümanı belirtir. Burada, virgül, istisna adını ve virgülden sonra gelen argümanın argümanını veya demetini takip eder.

Sözdizimi:

raise [Exception [, args [, traceback]]]

Bu sözdiziminde, bağımsız değişken isteğe bağlıdır ve yürütme sırasında, istisna bağımsız değişken değeri her zaman hiçbiri değildir.

Misal:

Bir Python istisnası, bir dize, sınıf, sayı veya bir nesne gibi herhangi bir değer olabilir. Python çekirdeği tarafından ortaya çıkan bu istisnaların çoğu, sınıfın bir örneği olan bir argümana sahip sınıflardır.

Önemli 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.
ImportError Mevcut olmayan bir modülü içe aktarmaya çalıştığınızda ImportError ortaya çıkar. Bu tür bir istisna, modül adında veya standart yolda bulunmayan modülde yazım hatası yaptıysanız oluşur.
IndexError Aralık dışı bir diziye başvurmaya çalıştığınızda bir IndexErroris ortaya çıktı.
KeyError Bir sözlükte belirli bir anahtar bulunamadığında, KeyError istisnası ortaya çıkar.
İsim Hatası Yerel veya genel ad alanında hiçbir zaman var olmayan kodda bir ad belirtildiğinde bir Ad Hatası 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.
EOFerror Bu tür bir hata, yerleşik işlevlerden biri (input () veya raw_input ()) herhangi bir veri okumadan bir EOF durumuna ulaştığında ortaya çıkar.
ZeroDivisonError Bu tür bir hata, tüm sayısal türler için sıfıra bölme veya modül gerçekleştiğinde ortaya çıkar.
IOError- Bir giriş / çıkış işlemi başarısız olduğunda bu tür bir hata ortaya çıktı.
sözdizimi hatası Python sözdiziminde bir hata olduğunda SyntaxErrors yükseltildi.
Girinti Hatası Girinti doğru şekilde tanımlanmadığında bu hata ortaya çıktı

Diğer Önemli Python İstisnaları

İstisna Açıklama
Aritmetik İstisna Sıfıra bölme gibi aritmetik hata.
ArraylndexOutOfBoundsException Dizi dizini sınırların dışında.
ArrayStoreException Atama, uyumsuz bir türün dizi öğesine yardımcı olur.
ClassCastException Geçersiz oyuncu kadrosu
MlegalMonitorStateException Kilitlenmemiş bir iş parçacığını beklemek gibi yasadışı izleme işlemi.
MlegalStateException Ortam veya uygulama yanlış durumda.
ClassNotFoundException Sınıf bulunamadı.
CloneNotSupportedException Klonlanabilir arabirimi uygulamayan bir nesneyi klonlamayı deneyin.
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.
CloneNotSupportedException Arayüzü uygulamayan bir nesneyi klonlamaya çalışın.

Hata ve İstisnalar

Hata İstisnalar
Python'daki tüm hatalar kontrol edilmeyen türdendir. İstisnalar hem işaretli hem de işaretlenmemiş türü içerir.
Derleyici tarafından bilinmeyen çalışma zamanında hatalar oluşur. İstisnalar, deneme-yakalama blokları yardımıyla işlenerek kurtarılabilir.
Hatalar çoğunlukla bir uygulamanın çalıştığı ortamdan kaynaklanır. Uygulamanın kendisi istisnalara neden olur.
Örnekler: OutofMemoryError Örnekler: Kontrol Edilmiş İstisnalar, SQL istisnası, NullPointerException, vb.

Özet

  • İstisna, bir programın yürütülmesi sırasında meydana gelen bir hatadır.
  • İstisna, olay meydana gelebilmesine rağmen, bu tür olayların nadiren meydana geldiğini gösterir.
  • Yaygın İstisna Örnekleri şunlardır: 1) Sıfıra Bölme, 2) Var olmayan bir dosyaya erişim, 3) Uyumsuz iki türün eklenmesi.
  • Bir istisna, bir hatayı temsil eden bir Python nesnesidir.
  • Bir try deyimi, try anahtar sözcüğünü, ardından iki nokta üst üste (:) ve istisnaların meydana gelebileceği bir kod paketi içerir. Bir veya daha fazla cümle içerir.
  • Yakalama blokları her seferinde bir argüman alır; bu, yakalanması muhtemel istisna türüdür.
  • Yükseltme ifadesi, istisna nesnesini başlatan bir argümanı belirtir.
  • Son olarak, blok her zaman bir istisna atılıp atılmamasına bakılmaksızın çalışır.