Exceptions(Hatalar) - Python Dersleri (Tutorials)
zzan·@elektroyazilim·
0.000 HBDExceptions(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
👍 maonx, anomaly, laissez-faire, hdu, imisstheoldkanye, sudefteri, vanburnt, neokuduk, literaturk, rasit, maveraunnehr, cocukgelisimi, elektroyazilim, iskenderk, bukiland, yusufyusuf, etasarim, tahirozgen, soteyapanbot, kabasakal, emotionalsea, mozer, palnetvoter, sbtr, steinhammer, ikiturk, yazilim, etkinlik, steemitli, discordtr, indirim, itiraf, tartisma, beyazli, kirmizili, yesilli, dergi, steemitboard, kuzeyli, guneyli, dogulu, batili, roportaj, sinanbayrak, bos1234, hots, opo9, gotmu, dasa, nextcol, peterpetrelli, ikiliseyir, siyahli, thales7, darkassassin, mwfiae, mw-actifit, arv1, minnowvotes, denizcakmak, bro-rando, bloggingforbeans, faustofraser, bethalea, whalepromobot, joeparys, alex2016, profitvote, steemyoda, luckyvotes, exploitation, interagent, windlassed, desulfurize, physicologic, stalagmitic, whalecreator, redlambo, beautifulwoman, steemfunding, steemlite, steemst, koinbot, steemlike,