Python İstisna Kullanarak try, except ve finally İfadeleri

Bu öğreticide, Python programınızdaki istisnaları, örnekler yardımıyla try, hariç ve nihayet ifadeleri kullanarak nasıl ele alacağınızı öğreneceksiniz.

Python’daki İstisnalar

Python, programınız bir hatayla karşılaştığında (programda bir şeyler ters gittiğinde) ortaya çıkan birçok yerleşik istisnaya sahiptir.

Bu istisnalar meydana geldiğinde, Python yorumlayıcısı mevcut süreci durdurur ve işlenene kadar çağıran sürece iletir. Eğer ele alınmazsa, program çökecektir.

Örneğin, function çağıran ve sırayla function çağıran bir fonksiyonumuzun olduğu bir programı düşünelim . İşlevde bir kural dışı durum oluşur ancak içinde işlenmezse , kural dışı durum önce ve sonra ‘ye geçer .ABCCCBA

Hiç ele alınmadıysa, bir hata mesajı görüntülenir ve programımız aniden beklenmedik bir şekilde durur.


Python’da İstisnaları Yakalamak

tryPython’da istisnalar bir deyim kullanılarak işlenebilir .

İstisna oluşturabilecek kritik işlem, tryyan tümcenin içine yerleştirilmiştir. İstisnaları işleyen kod exceptyan tümcede yazılmıştır.

Böylece istisnayı yakaladıktan sonra hangi işlemlerin gerçekleştirileceğini seçebiliriz. İşte basit bir örnek.

Çıktı

Bu programda, değerlerin arasında dolaşıyoruz.rastgele Listeliste. Daha önce de belirtildiği gibi, bir istisnaya neden olabilecek kısım trybloğun içine yerleştirilir.

Herhangi bir istisna oluşmazsa, exceptblok atlanır ve normal akış devam eder (son değer için). Ancak herhangi bir istisna oluşursa, blok tarafından yakalanır except(birinci ve ikinci değerler).

Burada, modülün exc_info()içindeki işlevi kullanarak istisnanın adını yazdırıyoruz . sysBunun asebeplerini ValueErrorve 0sebeplerini görebiliriz ZeroDivisionError.

Python’daki her istisna, temel sınıftan miras aldığından Exception, yukarıdaki görevi aşağıdaki şekilde de gerçekleştirebiliriz:

Bu program yukarıdaki programla aynı çıktıya sahiptir.


Python’da Belirli İstisnaları Yakalamak

exceptYukarıdaki örnekte, maddede herhangi bir özel istisnadan bahsetmedik .

Bu, tüm istisnaları yakalayacağı ve her durumu aynı şekilde ele alacağı için iyi bir programlama uygulaması değildir. Bir yan tümcenin hangi istisnaları exceptyakalaması gerektiğini belirleyebiliriz.

Bir tryyan tümce, farklı istisnaları işlemek için herhangi bir sayıda tümceye sahip olabilir except, ancak bir istisna oluşması durumunda yalnızca biri yürütülür.

Bir istisna yan tümcesinde birden çok istisna belirtmek için bir değerler kümesi kullanabiliriz. İşte bir örnek sözde kod.


Python’da İstisnaları Artırma

Python programlamasında, çalışma zamanında hatalar meydana geldiğinde istisnalar ortaya çıkar. Anahtar kelimeyi kullanarak istisnaları manuel olarak da yükseltebiliriz raise.

Bu istisnanın neden ortaya çıktığını açıklamak için isteğe bağlı olarak istisnaya değerler iletebiliriz.


Python, else yan tümcesi ile deneyin

tryBazı durumlarda, içindeki kod bloğu hatasız çalışıyorsa, belirli bir kod bloğunu çalıştırmak isteyebilirsiniz . Bu durumlar için, isteğe bağlı elseanahtar kelimeyi tryifadeyle birlikte kullanabilirsiniz.

Not : else yan tümcesindeki istisnalar, önceki hariç yan tümceleri tarafından ele alınmaz.

Bir örneğe bakalım:

Çıktı

Tek bir sayı geçersek:

Bir çift sayı geçersek, karşılıklı hesaplanır ve görüntülenir.

Ancak, 0’ı geçersek , ZeroDivisionErroriçerideki kod bloğunun önüne geçilmediğinden elde ederiz .elseexcept


Python deneyin… sonunda

Python’daki ifadenin tryisteğe bağlı bir finallyyan tümcesi olabilir. Bu madde ne olursa olsun yürütülür ve genellikle dış kaynakları serbest bırakmak için kullanılır.

Örneğin, ağ üzerinden uzak bir veri merkezine bağlanabilir veya bir dosya veya bir Grafik Kullanıcı Arayüzü (GUI) ile çalışabiliriz.

Tüm bu durumlarda, program başarılı olsa da olmasa da durmadan önce kaynağı temizlemeliyiz. Bu eylemler (bir dosyayı kapatma, GUI veya ağ bağlantısını kesme) finallyyürütmeyi garanti etmek için yan tümcede gerçekleştirilir.

İşte bunu göstermek için dosya işlemlerine bir örnek .

Bu tür bir yapı, programın yürütülmesi sırasında bir istisna meydana gelse bile dosyanın kapalı olmasını sağlar.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.