Hata Fırlatma - Python Dersleri (Tutorials)

in #zzan5 years ago

object.jpg

Merhabalar

Python programlama derslerinin bu bölümünde "hata fırlatma" konusuna değineceğiz.

Bundan önceki derslerimizde Python'da olabilecek hatalardan bahsetmiştik. Sonrasında try except ve try except finally blok yapılarından ve kullanım amaçlarından bahsetmiştik.

Python dilinde yazdığımız fonksiyonlar, yanlış kullanıldığında kullanıcıya “hata” fırlatabiliriz. Bunun için raise anahtar kelimesi kullanılır.

raise anahtar kelimesinin kullanımı aşağıdaki gibidir :

raise hataAdi(hata mesajı)

hata mesajı opsiyoneldir, kullanımı isteğe bırakılmıştır.

Şimdi uygulamasını görelim:

raise anahtar kelimesinin kullanımını strTersCevir() fonksiyonu üzerinde göreceğiz. Bu fonksiyon adından da anlaşılacağı üzere parametre olarak aldığı string değerin tersini döndürmektedir.

Fonksiyon tanımı klasik def anahtar kelimesi ile başlamış ve bir parametre almıştır. Fonksiyon bloğunda ise bir if yapısı görüyoruz. Bu if yapısı parametre olarak gelen değerin string olup olmadığını sorgulamaktadır. Bunu

(type(st) != str)

kodu ile yapmaktadır. Parametreyi type() fonksiyonuna gönderiyoruz ve dönen değerin str yani string tipine eşit olup olmadığını sorguluyoruz.

Fonksiyona gelen parametre string den farklı bir tipteyse if bloğu çalışacaktır.

raise ValueError("Hata! Lütfen string değer girin.")

kodu ile hatanın tipini ValueError olarak belirttikten sonra kullanıcıya

Hata! Lütfen string değer girin.

şeklinde mesaj verilecektir.

Girilen değer string tipinde bir değerse else bloğu çalışacaktır ve

return st[::-1]

kodu ile stringin ters çevrilmiş hali döndürülmektedir.

Şimdi bu fonksiyonu kullanalım ve hataları görelim :

Fonksiyonun hatasız normal kullanımı bu şekildedir. Ters çevrilmesini istediğimiz stringi fonksiyona parametre olarak veririz ve dönen değeri kullanırız.

Şimdi de string olmayan bir değer girelim ve sonucu inceleyelim :

Fonksiyona string olmayan bir değer girdiğimizde bir hata mesajı fırlattı. Hata mesajının en alt kısmına bakalım.

ValueError: Hata! Lütfen string değer girin.

hatasını verdi.

raise anahtar kelimesini kullanarak hata mesajını kişiselleştirdik. Bu şekilde hata mesajlarını Türkçeleştirebiliriz.

Şimdilik bu kadar.

Umarım faydalı bir çalışma olmuştur.

Teşekkürler.

yesilayrca.png

Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me

Sort:  

This post is supported by $0.39 @tipU upvote funded by @thales7 :)
@tipU voting service: instant, profitable upvotes + profit sharing tokens | For investors.

Teşekkür ederim @thales7 hocam ;)

You got a 38.10% 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!

You got a 83.12% upvote from @minnowvotes courtesy of @elektroyazilim!

The force is with you! You got a 31.67% upvote from @steemyoda courtesy of @elektroyazilim!

You got a 95.11% upvote from @luckyvotes courtesy of @elektroyazilim!

You got a 18.18% upvote from @redlambo courtesy of @elektroyazilim! Make sure to use tag #redlambo to be considered for the curation post!

Coin Marketplace

STEEM 0.18
TRX 0.15
JST 0.029
BTC 62447.99
ETH 2513.51
USDT 1.00
SBD 2.67