Python Onaylama Hatası

Python Onaylama Hatasi



Bir Python programı çalışırken beklenmeyen bir koşulla karşılaştığında, program yürütmeyi durdurur ve bir istisna döndürür. Python'da istisnalar ve söz dizimi hataları, iki ana hata kategorisidir. Sözdizimsel olarak geçerli bir Python kodu parçası bir hata oluşturduğunda, bir istisna/hata oluşturma olarak bilinir. Son satırdaki hata mesajı, istisnanın tam türünü tanımlar ve hata ayıklamaya yardımcı olacak bir açıklama sağlar ve bir ok, istisnanın oluştuğu satırı veya konumu gösterir. Ani bir program çökmesini önlemek için istisnaları yakalamak ve yönetmek çok önemlidir. Kodu yürütmek için farklı bir yol kullanın. Örneğin, belirtilen istisna oluştuğunda. Bu eğitimde AssertionError ve bunu Python'da nasıl çözebileceğiniz tartışılacaktır.

Python'da AssertionError Nedir?

Onaylama hataları, bir programcı, modül çalıştırılmadan önce karşılanacak bir ölçüt veya koşul bildirmek için kullanılan bir kod bloğu yazdığında veya oluşturduğunda ortaya çıkan bir programlama kavramıdır. Herhangi bir Python hatası gibi, iddia doğru bildirildiğinde belirtilen koşul, kontrol sonraki kod satırına aktarılır. Yanlış ise, bir hata veya istisna ortaya çıkar ve program durdurulur. Assert deyimi, dilden bağımsız olduğu için çeşitli programlama dillerinde kendine özgü sözdizimleriyle kullanılabilir. İstisna sınıfının bir alt sınıfı veya bir örneğidir. Python AssertionError aşağıdaki sözdizimine sahiptir:

Sözdizimi: onaylama koşulu, error_message(isteğe bağlı)







Örnek

Girdi olarak bir kişinin yaşını gireceğiz ve sıfırdan küçükse konsol bir onaylama hatası verecektir.





Şimdi, 0'dan küçük bir yaş girersek ne olur?





Bu yöntemi kullanarak kodunuzda hata ayıklamak daha basittir, bu nedenle programdaki hataları bulmayı ve hataları düzeltmeyi kolaylaştırır.



Python'da AssertionError Nasıl Çalışır?

Python dili, mantıksal iddialarla basit hata mesajı çıktıları oluşturmak için kullanılabilecek bir onaylama ifadesi içerir. Onay ifadesi başarısız olduğunda, bir 'istisna' AssertionError ortaya çıkar. Python'da istisna sınıfları, BaseException sınıfından türetilir. AssertionError sınıfının da temel sınıfı olan BaseException sınıfı, Exception sınıfının türetildiği yerdir. Her kullanıldığında bir assert ifadesinin başarısızlığıyla başa çıkmak için her zaman uygun istisna işleme kodu olmalıdır. Python'daki varsayılan istisna işleyici, programcı tarafından yazılan hata mesajını yazdırır, ancak hata, bir hata mesajı olmadan da işlenebilir veya çözülebilir.

Python'da AssertionError'u Uygulamak

Python'da AssertionError'ın birkaç örneği aşağıda verilmiştir:

Örnek

Bu örnekte, bir dairenin alanını bulan bir programda AssertionError görüntülemek için bir Python programı yazacağız.

Yarıçap “r” değeri, önceki programda dairenin alanını bulmak için oluşturulan bir fonksiyona girdi olarak geçirilir. Assert ifadesi daha sonra sağlanan değerin veya “r” yarıçapının sıfırın altında olup olmadığını belirlemek için kullanılır ve buna negatif bir değer verilirse bir istisna ortaya çıkar. Dairenin alanı, fonksiyona verilen “r” yarıçapının değerine göre döndürülecektir. İlk olarak, fonksiyon 3 olarak r değeri ile yürütülür. Ardından fonksiyon 2.5 değeri ile yürütülür. AssertionError, negatif bir “r” değeri, yani “-1” kullandığımızda ortaya çıkar.

Bir Onaylama hatasının oluşumunu görüntülemek için başka bir örnek deneyelim.

Örnek

Bu örnekte, program payda değerinin sıfırdan farklı olup olmadığını belirleyecektir.

Onaylama hatasının hata mesajı, önceki programda görüntüleniyor. İki değişken (a ve b) oluşturduk ve tamsayı değerleri değişkenleri belirtir. İkinci değişken, yani b, daha sonra, assert ifadesi kullanılarak 0'a eşit olup olmadığını görmek için test edilir. Aksi belirtilmedikçe, hata mesajı yazdırılır. Değilse, ilk sayının ikinci değere bölünmesinin sonucu görüntülenir. Bir önceki resimde programın çıktısı gösterilmektedir.

AssertionError Uygulamaları

Onaylama hatasının diğer faydalı kullanımları şunları içerir:

  • Onaylama, parametre değerlerinin değerlendirilmesine yardımcı olur
  • Onaylar, giriş türünü ve bu değerin geçerli olup olmadığını izlemeye yardımcı olur
  • Ek olarak, iddialar, başka bir kod geliştiricinin bir arayüzü kötüye kullanıp kullanmadığını belirlemeye yardımcı olur.
  • İddialar, programın çıktısının sürekli olarak izlenmesine yardımcı olur

Python'da Assert Hatalarını Nasıl Önleyebiliriz?

  1. Bir Python programındaki -O bayrağı, her onaylama ifadesini devre dışı bırakmak için kullanılabilir. Bir iddia ifadesinden sonra gelen ifadelerin, iddia ifadelerini devre dışı bırakırsak yürütülmeyeceğini akılda tutmak önemlidir.
  2. Ortam değişkeni, onaylama ifadelerini kapatmak için bir bayrak da ayarlayabilir. Ortamı kullanan veya devralan tüm işlemler ve uygulamalar bu durumdan etkilenir.
  3. Python'da, onaylama hatalarını önlemenin en basit yaklaşımı, bunları manuel olarak ele almaktır. Programın kontrol akışının, assert ifadelerine erişmemesi için yönlendirilmesini sağlarsak, onaylama hatası olasılığı yoktur.

AssertionError'ı işleme

İddia ifadesinin yanı sıra, aşağıdaki yöntemleri kullanarak onaylama hatasını da işleyebiliriz:

Try-Except Bloklarını Kullanarak Onaylama Hatasını İşleme

Assert ifadesi değerlerin eşit olup olmadığını belirler. Bu tamsayılar eşit olmadığı için try bloğu AssertionError hatasını yükseltir. Yazdırma komutu, istisna bloğu istisnayı yakaladıktan sonra yürütülür. Burada, istisna bloğundan print ifadesinin çıktısı görüntülenir. İstisnanın kaynağını belirleyebilmemiz için istisna bloğundaki hatayı yeniden yükseltmek için yükseltme anahtar kelimesi kullanılabilir. Bir istisna oluştuğunda, 'yükselt' anahtar kelimesi bir hataya neden olacak ve programı sonlandıracaktır. Mevcut istisnanın kaydını/izini korumaya veya tutmaya yardımcı olur.

Geri izleme Modülünü Kullanarak AssertionError'ı İşleme

Kod birkaç assert ifadesi içerdiğinde, geri izleme modülü tam hatanın kaynağını belirlemeye yardımcı olur.

Geri izleme modülünü kullanarak print ifademiz {} yer tutucuları ile yazılabilir.

Ek olarak, satır konumunu, dosyanın adını, yöntemin adını ve ayrıca istisnanın oluştuğu metin/mesajı saklamak için başka değişkenler tanımlayabiliriz.

Geri izleme nesnesine 'tb' adı verilir. İki yer tutucu kullanırız: biri metin için ve diğeri print ifadesindeki satırın konumu için.

'yükselt' ifadesinin üç bileşeni - exc_type, exc_traceback ve exc_value - sys.exc_info() işlevi tarafından döndürülür.

Baskı Bildirimini Kullanarak AssertionError'ı İşleme

Bir istisnayı manuel olarak işlemek için hariç bloğunun içindeki 'yazdır' ifadesini kullanabiliriz.

Print ifadesi, kullanıcının girdiği herhangi bir hata mesajını yazdırır. Bu yöntemle teknik bir hata kullanıcıyı endişelendirmez.

Bir hata yerine kısa bir mesaj görüntülenir.

Çözüm

Bu yazıda ilk olarak Python'da istisnaların girişini gördük. AssertionError'ı, nasıl çalıştığını ve AssertionError'ı Python'da nasıl uygulayabileceğimizi tartıştık. AssertionError'ın çeşitli avantajlarını ve bunlardan nasıl kaçınabileceğimizi açıkladık. Bu yayının son bölümünde, Try-Except Blocks, traceback modülü ve print deyimini kullanarak Python'da AssertionError ile nasıl başa çıkabileceğimizi gördük.