Exceptions(Hatalar) - Python Dersleri (Tutorials)
Merhabalar
Python programlama derslerinin bu bölümünde yeni bir konuya geçeceğiz. Python'da hata kavramını ve hangi durumlarda ne gibi hatalar alabileceğimizi göreceğiz.
Python programlarını yazarken bazen farkında olmadan hatalar yapabiliriz: Tanımlamadığımız bir değişkeni kullanmaya çalışabilir veya olmayacak aritmetik bir işlemi hesaplatmaya çalışabiliriz... Bu gibi veya daha başka durumlar Python'da hatalara yol açabilir.
Hatta bazı durumlarda hataların ortaya çıkabileceği kod kısımlarını önceden tahmin edebiliriz. Bu hataları da programımızda yakalayabiliriz.
Örnek vermek gerekirse kullanıcıdan bir sayı girmesini istediniz ama kullanıcının bir harf girmesi durumunda oluşabilecek hatayı öngörebiliriz.
Şimdi bu hataları gözden geçirelim:
- Kullanıcı tanımlamadığı bir değişkeni kullanmak isterse oluşabilecek durum aşağıdaki gibidir :
mesaj adında daha önce herhangi bir değişken tanımlanmamasına rağmen print() fonksiyonuyla ekrana yazdırılmaya çalışılmış. Tabi
NameError : name 'mesaj' is not defined
hatası aldık. mesaj değişkeninin tanımlanmadığını söylüyor.
- Kullanıcıdan bir sayı girmesini beklerken kullanıcının farklı değerler girmesi sonucu oluşabilecek hata ise aşağıdaki gibidir :
Kullanıcıdan bir sayı girmesini istedik ancak kullanıcı beklemediğimiz bir değer girdi. Girilen değeri int() metodu integer sayıya çeviremediği için ValueError hatası aldık.
ValueError: invalid literal for int() with base 10: 'abc12'
Hatada int() metodu için geçersiz literal girildiğini aslında 10luk tabanda sayı girilmesi gerektiğini ifade ediyor. Kullanıcının girdiği ifadede sayı dışında da değerler olduğu için int() metodu bu değeri sayıya çeviremediğinden böylesi bir hata aldık.
- Matematik dersindeki tanımsız ifadelerin yapılmaya çalışılması da hata oluşmasına sebep olur.
Görüldüğü gibi sıfıra bölme hatası aldık. Hatanın hani satırda gerçekleştiğini de göstermektedir.
- Bazen de syntax'ten kaynaklı hatalar olabilir. print() fonksiyonunu yanlış kullandığımızı farz edersek, aşağıdaki gibi bir hata alırız :
SyntaxError hatası aldık. Hatayı almamızın sebebi, print() fonksiyonu içerisinde yazılacak olan karakterlerin çift tırnak dışında verilmesidir.
Bunlar gibi daha yüzlerce hata ile karşılaşabilirsiniz. Python'daki sınıflandırılmış hataları, Python'un kendi dökümantasyonundan bulabiliriz :
https://docs.python.org/3/library/exceptions.html
Sitenin en alt kısmına gittiğinizde aşağıya doğru uzayan hiyerarşik bir hata listesi bulunmaktadır :
Python'daki hatalar bu şekilde. Bir sonraki derste ise bu hataları nasıl yakalayacağımızı göreceğiz.
Şimdilik bu kadar.
Umarım faydalı bir çalışma olmuştur.
Teşekkürler.
Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me
Congratulations @elektroyazilim! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
To support your work, I also upvoted your post!
You got a 97.37% upvote from @minnowvotes courtesy of @elektroyazilim!
You got a 50.00% upvote from @whalepromobot courtesy of @elektroyazilim!
You got a 41.25% upvote from @joeparys! Thank you for your support of our services. To continue your support, please follow and delegate Steem power to @joeparys for daily steem and steem dollar payouts!
The force is with you! You got a 30.32% upvote from @steemyoda courtesy of @elektroyazilim!
You got a 95.55% upvote from @luckyvotes courtesy of @elektroyazilim!
You got a 29.41% upvote from @whalecreator courtesy of @elektroyazilim! Delegate your Steem Power to earn 100% payouts.
You got a 22.22% upvote from @redlambo courtesy of @elektroyazilim! Make sure to use tag #redlambo to be considered for the curation post!