🚨 Hata & RegEx
Hata & RegEx: Hata Yönetimi (Try...Except) Try-except, bisiklet kaskı gibi — düşebilirsin ama kask varsa ciddi bir şey olmaz; except bloğu, kodun "düşmesini" yakalar.
Hata Yönetimi (Try...Except)
Try-except, bisiklet kaskı gibi — düşebilirsin ama kask varsa ciddi bir şey olmaz; except bloğu, kodun "düşmesini" yakalar. Ama gerçek beceri, HANGİ kaskı takacağını bilmek: "except TypeError" yazıp gerçekte fırlatılan hata ValueError ise, except hiç DEVREYE GİRMEZ — yanlış kaskı takmışsın, düşme yine de seni yaralar. int("abc") çalıştığında Python ValueError fırlatır, TypeError değil — bu ayrımı bilmemek, "except bloğum çalışmıyor" diye saatlerce debug etmene yol açar. Java'da catch (SpecificException e) aynı disiplini ister; genel bir "catch hepsini yakalar" alışkanlığı (except: veya catch (Exception e)) ise gerçek hatayı GİZLER — QA'de sessizce yutulan bir bug, görünür bir hatadan çok daha tehlikelidir.
Java'da try-catch-finally kullanılır. Python'da da aynı yapı var: try-except-finally. Java'da Exception sınıfından türetme — Python'da da aynı. Fark: Python'da as keyword'ü ile exception nesnesine erişilir.
Micro Lab: Python kod yazma
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Adim Adim: Python kod yazma
Girdi ve veri tiplerini oku
Kritik satiri en kucuk degisiklikle tamamla
Kodu calistirip beklenen ciktiyi karsilastir
Hata varsa traceback veya assertion mesajini oku
Test raporu icin sonucu tekrar kullanilabilir hale getir
Python QA kodunu guvenli calistirma sirasi nedir?
Java ile Karşılaştırma
Python'da exception olmadığında çalışan blok hangisidir?