Python'da İstisna İşleme: İstisna İşlemi, Try Hariç Kullanarak
Yayınlanan: 2021-06-29Bir hatayla karşılaşıldığında bir Python programı sonlandırılır. Hatalar, genellikle bir programda meydana gelen ve çalışmasını durduran problemlerdir. Hatalar, sözdizimindeki bir hatadan kaynaklanabilir veya bir istisna olabilir. Ayrıştırıcı tarafından yanlış bir ifade algılandığında, bir sözdizimi hatası meydana gelir.
Ancak, doğru sözdizimine sahip kod bir hata ürettiğinde, bu bir istisna olarak bilinir. Python'da çeşitli yerleşik istisnalar mevcuttur. Bunlar, bir programın normal akışının değiştiği dahili olayların meydana gelmesiyle ortaya çıkar.
Bu nedenle istisnalar, kodun kesilmesine ve dolayısıyla program akışının kesilmesine neden olan belirli olağandışı program koşulları olarak tanımlanabilir.
Bir istisna ile karşılaştığında bir programın yürütülmesi durur. Bu, kodun yürütülmesini daha da durdurur. Bu nedenle, istisnalar, python betiği tarafından işlenemeyen çalışma zamanının bir sonucu olan hatalardır.
python'da istisna işleme için, python betik dili, kodun yürütülmesinin devam etmesi ve herhangi bir kesinti olmaması için bir çözüm sunar. İstisna işlemenin olmaması, istisna oluşturan koddan sonra var olan kodu yürütmeyi durdurur.
Python'da, yaygın istisnalar da dahil olmak üzere herhangi bir kesinti olmadan bir programın yürütülmesine izin veren çeşitli yerleşik seçenekler mevcuttur. Bununla birlikte, python özel istisnalarının bir hükmü vardır . Herhangi bir python programı için, atılabilecek genel istisnalar şunlardır:
- ZeroDivisionError: Bu tür istisna, bir sayıyı bölmek için sıfır kullanıldığında ortaya çıkar.
- NameError: Bir program global veya yerel bir ad bulamadığında, bu tür bir istisna oluşur.
- IndentationError: Yanlış girinti, indentationError'a yol açar.
- IOError : Bir Giriş-Çıkış işleminin başarısızlığı IOError ile sonuçlanır.
- EOFError: Bir programın sürekli çalışmasında meydana gelir.
dosya sonuna ulaşıldı.
İçindekiler
Bir istisna oluşturma
Belirli koşullar altında bir istisna atmak için yükseltme kullanılır.
Programın yürütülmesi durdurulur ve ilgili istisna ekranda görüntülenir. İstisnaların görüntülenmesi, kullanıcıların temel sorunun ne olabileceğini bilmelerini sağlar.
Python'da yükseltme yan tümcesini kullanarak bir istisna oluşturabiliriz. Uygulama, bir istisna oluşturarak programın durdurulması gereken durumlarda kullanışlıdır.
Örneğin: Güya bir programın yürütülmesi için yaklaşık 1 GB belleğe ihtiyacı vardır ve 1 GB'ı işgal etmeye çalışır, bu durumda programı yürütmeyi durdurmak için bir istisna atılabilir.
Bir istisna oluşturmak için sözdizimi:
İstisna_sınıfı,<değer>
Öyleyse,
- 'raise', bir programda bir istisna oluşturmak için kullanılır.
- Parantez içine verilebilecek bir istisnaya bir değer verilebilir.
- Değere erişim “as” anahtar kelimesi ile yapılabilir. İstisnaya verilen değer, “e” ile gösterilen referans değişkeninde saklanabilir.
- Bir istisna tipi belirtmek için değer bir istisnaya geçirilebilir.
OnaylamaHatası
Programın çökmesine izin vermek yerine python'da bir iddia yapılabilir. Program tarafından belirli bir koşulun karşılandığı iddia edilir. Koşul doğruysa program çalışmaya devam eder. Aksi takdirde, koşul yanlış olduğu ortaya çıktığında program tarafından AssertionError istisnası atılır.
İstisnaları deneme ve hariç tutma bloğu aracılığıyla işleme
Python'da atılan istisnalar yakalanır ve daha sonra python'daki try ve hariç blokları tarafından işlenir. try bloğu içindeki kod, normal olarak programın parçası olarak yürütülür. Diğer blok, program tarafından try bloğunda atılan istisnalara yanıt olarak yürütülen ifadeleri içerir.
Program, sözdizimsel olarak doğru bir kodda bir hatayla karşılaştığında bir istisna atar. Atılan istisnalar düzgün bir şekilde ele alınmazsa, programlarda bir çökme olacaktır. Bu tür senaryolarda, istisna bloğu, programın bu istisnaya yanıtını belirler.
Try ve istisna cümlesinin uygulanışı en iyi bahsi geçen kaynaktan alınan aşağıdaki örnekle anlaşılacaktır.
Bu durumda, bir istisna oluştuğunda, program çalışmaya devam edecek ve boş bir çıktı vermek yerine kullanıcıya programın başarısız olduğunu bildirecektir.
Ödeme : Python Proje Fikirleri ve Konuları
Program, işlevin çağrısı yoluyla atılan hata türünü gösterdi. Ancak, gerçekte neyin yanlış gittiğine dair bir fikir edinmek için işlev tarafından atılan hata yakalanabilir.
Kodu bir Windows makinesinde çalıştırmak aşağıdakileri üretecektir
İlk olarak görüntülenen mesaj AssertionError'ı belirtir ve bu sayede kullanıcı, işlevin yalnızca bir Linux işletim sistemi sisteminde yürütülebileceği konusunda bilgilendirilir. İkinci mesaj ayrıca hangi fonksiyonun yürütülemediği bilgisini verir.
file.log dosyası "file.log açılamadı" mesajıyla bir çıktı üretecekse mevcut değil.
Bilgiyi kullanıcıya ileten bir mesaj olduğu için program çalışmaya devam edecektir. Python belgelerinde birçok yerleşik istisna mevcuttur. Açıklandığı gibi bir istisna aşağıda gösterilmiştir.
Bu durumda file.log dosyasının olmaması aşağıdaki çıktıyı üretecektir.
try yan tümcesinde daha fazla işlev çağrısının kullanılmasıyla çeşitli istisnalar yakalanabilir. Ancak, bir istisna tespit edildiğinde, try yan tümcesi ifadeleri duracaktır.
else cümleciği
Ifadelerin else yan tümcesinin kullanılması, programa yalnızca istisna olmadığında bir deyim bloğunu yürütme talimatının verilmesine yardımcı olabilir.
Else maddesi, istisna olmadığı için uygulandı. Kod istisnalar içeriyorsa, aşağıdaki sonuç olacaktır.
Python özel istisnaları
Python, programda yanlış bir şey olduğunda hata veren bir dizi yerleşik istisnaya sahiptir. Ancak, amacına hizmet edilecek durumlarda kullanıcının bazı özelleştirilmiş istisnalar oluşturması gerekir.
Özel istisnaları tanımlamak için yeni bir sınıf oluşturulabilir. Doğrudan veya dolaylı olarak, bu sınıfların yerleşik istisnalar sınıfından türetilmesi gerekir.
İstisna sınıfından devralınan kullanıcı tanımlı CustomError sınıfı oluşturulur. Diğer istisnalara benzer şekilde, bu istisnalar da isteğe bağlı bir hata mesajıyla 'yükselt' kullanımıyla ortaya çıkar.
Büyük bir python programı geliştirildiğinde, kullanıcı tanımlı istisnalar ayrı bir dosyaya yerleştirilmelidir. Bunu yapmak genellikle iyi bir uygulamadır ve bunu, istisnaların ayrı olarak error.py veya istisnalar.py olarak tanımlandığı standart modüllerin çoğu izler.
Python özel istisnaları basittir ve normal sınıflar her şeyi uygularken onlar da aynı şeyi takip eder.
Sözdizimi ve Örnekler
a ve b olmak üzere iki değişkeni ele alalım. Değişkenlere giriş kullanıcıdan alınır ve sayıların bölünmesi gerçekleştirilir. Şimdi, kullanıcı tarafından girilen payda sıfır ise.
Bu istisnaları işlemek için programa try-except blokları eklenebilir. İstisna atma şüphesine yol açan her türlü kod için. İfadelerin try bloğuna yerleştirilmelidir.
Bir try bloğunun sözdizimi
denemek:
#kod
İstisna1 hariç:
#kod
İstisna2 hariç:
#kod
#kod
Kodun try bloğuna yerleştirildiği ve kodda istisna olmadığında çalıştırıldığı try-except deyimlerinin kullanımını gösterir.
try-except ile else ifadesinin sözdizimi
denemek
#deney ifadeleri
İstisna1 hariç
#kod
Başka
#istisna olmadığında kodun yürütülmesi
Birkaç önemli nokta:
- İstisna, python'da bir istisna ifadesi aracılığıyla belirtilmez.
- Bir try bloğu içinde farklı türlerde istisnalar oluşturabilen birçok ifade olabileceğinden, bir try bloğu kullanılarak bir kodda birden çok istisna bildirilebilir.
- Başka bir blok, try bloğu tarafından atılan hiçbir istisna olmadığında çalıştırılan bir try bloğu ile belirtilebilir.
- else bloğu, istisnalar oluşturmaktan sorumlu olmayan ifadeler içermelidir.
Ayrıca Okuyun: Python'un Geliştiriciler Arasında Popüler Olmasının En Önemli Nedenleri
Çözüm
Bu yazıda, bazı örneklerle python'da istisna işleme kavramını kısaca tartıştık. Yerleşik istisnaların yanı sıra, python özel istisnaları da kısaca tanımlanır. Artık python'da istisnaların önemini ve istisnaların ele alınmasını bilebilirsiniz .
Python dili ve veri bilimindeki uygulaması hakkında daha fazla bilgi edinmek istiyorsanız, aşağıdaki upGrad "Veri Biliminde Yönetici PG Programı" kursuna göz atabilirsiniz.
Çevrimiçi kurs, 21 ila 45 yaşları arasındaki tüm giriş seviyesi profesyoneller için tasarlanmıştır. 20'den fazla canlı oturum ve 14'ten fazla araç ve programlama dili hakkında pratik bilgilerle kurs, sizi mükemmelliğe doğru yönlendirecek. Herhangi bir soru mesaj olarak gönderilebilir. Ekibimiz size yardımcı olacaktır.
Python'da kaç tür hata vardır?
Python-Sözdizimi Hataları ve İstisnalarında ağırlıklı olarak 2 ayırt edilebilir hata kategorisi vardır. Sözdizimi Hataları: Sözdizimi hataları, herhangi bir kod satırında hatalı bir sözdizimi olduğunda ortaya çıkar. Bu en yaygın hatadır ve programın ayrıştırılması sırasında algılanır. Hatalar arasında bir işleç eksikliği, yanlış girinti, anahtar sözcük yanlış yazım, eksik iki nokta üst üste, parantez bırakma ve söz dizimindeki diğer küçük hatalar yer alır. İstisnalar: İstisnalar, programın yürütülmesi sırasında tespit edilen hatalardır. Program sözdizimi testinde başarılı olduktan sonra, mantıksal hataların kontrolünden geçer. Python, zengin bir yerleşik istisna koleksiyonuna sahiptir. Ayrıca özel kullanıcı tanımlı istisnalar da oluşturabilirsiniz.
Sözdizimi hatası ile istisna arasındaki temel fark nedir?
Kod veya kod satırı sözdizimsel olarak yanlış olduğunda bir sözdizimi hatası oluşur. Bir kodda bir sözdizimi hatası oluştuğunda program sonlandırılır. İki nokta üst üste işaretinin eksik olması veya hatta bir anahtar kelimenin yanlış yazılması da sözdizimi hatası meydana gelebilir.
Ancak istisnalar oldukça farklıdır. Bir istisna, programın akışını bozan bir anormallik olarak kabul edilebilir. Program sözdizimsel olarak doğru olsa bile, istisna oluşabilir. Bir hatadan farklı olarak, kod, istisnanın oluştuğu satıra kadar yürütülür.
Python'da upgrade anahtar sözcüğünün rolü nedir?
Yükseltme anahtar sözcüğü, Python'da bir istisna oluşturmak için kullanılır. Hata türü de artırılabilir ve ayrıca istisna oluşturma sırasında görüntülenecek metin ekleyebilirsiniz. Girişler için kodunuzu kontrol etmeniz gerektiğinde çok kullanışlı oluyor.