Python Denemesi Dışında
Blok try
, bir kod bloğunu hatalar için test etmenizi sağlar.
Blok except
, hatayı işlemenize izin verir.
Blok else
, hata olmadığında kodu çalıştırmanıza izin verir.
Blok finally
, deneme ve hariç blokların sonucundan bağımsız olarak kod yürütmenize izin verir.
İstisna işleme
Bir hata oluştuğunda veya bizim adlandırdığımız şekliyle istisna olduğunda, Python normalde durur ve bir hata mesajı oluşturur.
Bu istisnalar şu ifade kullanılarak işlenebilir try
:
Örnek
Blok , tanımlanmadığı try
için bir istisna oluşturacaktır x
:
try:
print(x)
except:
print("An exception occurred")
try bloğu bir hata verdiğinden, istisna bloğu yürütülecektir.
Try bloğu olmadan program çökecek ve bir hata verecektir:
Örnek
Bu ifade bir hataya neden olacaktır, çünkü x
tanımlanmamıştır:
print(x)
Birçok İstisna
İstediğiniz kadar istisna bloğu tanımlayabilirsiniz, örneğin özel bir hata türü için özel bir kod bloğu yürütmek istiyorsanız:
Örnek
NameError
Try bloğu diğer hatalar için a ve diğerini yükseltirse bir mesaj yazdırın :
try:
print(x)
except NameError:
print("Variable x
is not defined")
except:
print("Something else went
wrong")
Başka
else
Herhangi bir hata oluşmadıysa yürütülecek bir kod bloğunu tanımlamak için anahtar kelimeyi kullanabilirsiniz :
Örnek
Bu örnekte, try
blok herhangi bir hata oluşturmaz:
try:
print("Hello")
except:
print("Something went
wrong")
else:
print("Nothing went wrong")
Nihayet
Belirtilmişse finally
blok, try bloğunun bir hata oluşturup oluşturmadığına bakılmaksızın yürütülür.
Örnek
try:
print(x)
except:
print("Something went
wrong")
finally:
print("The 'try except' is finished")
Bu, nesneleri kapatmak ve kaynakları temizlemek için faydalı olabilir:
Örnek
Yazılabilir olmayan bir dosyayı açıp yazmaya çalışın:
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("Something went wrong when writing to the file")
finally:
f.close()
except:
print("Something went wrong when opening the
file")
Program, dosya nesnesini açık bırakmadan devam edebilir.
Bir istisna oluştur
Bir Python geliştiricisi olarak, bir koşul oluşursa bir istisna oluşturmayı seçebilirsiniz.
Bir istisna atmak (veya yükseltmek) için raise
anahtar kelimeyi kullanın.
Örnek
Bir hata oluşturun ve x 0'dan küçükse programı durdurun:
x = -1
if x < 0:
raise Exception("Sorry, no numbers below
zero")
Anahtar raise
kelime bir istisna oluşturmak için kullanılır.
Ne tür bir hata oluşturulacağını ve kullanıcıya yazdırılacak metni tanımlayabilirsiniz.
Örnek
x bir tamsayı değilse bir TypeError yükseltin:
x = "hello"
if not type(x) is int:
raise TypeError("Only
integers are allowed")