3 Aralık 2011 Cumartesi

Hata Ayıklama(except...as...)

Python'da hata mesajları 2 bölümden oluşur
1)Hatanın adı
2)Hatanın mesajı

Örneğin

ValueError: invalid literal for int() with base 10: 'x'

Burada "ValueError" bilidğimiz gibi hatanın adıdır."invalid literal for int() with base 10: 'x'"
kısmı ise hata mesajıdır.İstersek bizbu mesajı değiştirip kullanıcının anlayacağı şekle dönüştürebiliriz.


while True:
try:
x=int(input("Bir sayı Giriniz: "))
if x%2==0:
print("Girilen sayı çift sayıdır.")
else:
print("Girilen sayı tek sayıdır.")
except ValueError as hata:
print("Karakter Hatası\nPython'un verdiği hata:",hata)






kodumuzu açıklayacak olursak:
Kullanıcıdan bir sayı alan program,bu sayının 2'ye tam bölünüp bölünmedğini kontrol ediyor.Buradan
sonuç 0 ise if'in içindeki print ifadesini yazdırıyor.Eğer sonuç 0'dan farklı ise else ifadesi içindeki
print ifadesi içeriğini yazdırıyor.Eğer kullanıcı a,b,e,? gibi karakterler girerse son iki satırda
ValueError ile yakaladığımız yazım hatasını mesajını devreye koyuyor ve böylelikle kullanıcıyı
yönlendirmiş oluyor.

Hiç yorum yok:

Yorum Gönder