Junior
Python'da istisna yönetimi nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Python'da istisna yönetimi, programın normal yürütülmesini engelleyen hata veya olaylara yakalamak ve bunlara yanıt vermek için bir mekanizmadır.
try...except...finally veya try...except...else...finally blokları kullanılır.
try:
# Hata oluşturabilecek kod
result = 10 / 0
except ZeroDivisionError:
# Belirli bir istisna ile başa çıkma
print("Hata: Sıfıra bölme!")
except Exception as e:
# Diğer tüm istisnalarla başa çıkma
print(f"Bir hata oluştu: {e}")
else:
# try bloğunda hata yoksa çalışır
print("İşlem başarıyla tamamlandı.")
finally:
# Her zaman çalışır, hata olup olmamasına bakılmaksızın
print("Finally bloğu çalıştı.")
Ana bileşenler:
try: Hatanın olabileceği kod bloğu.except: Belirli bir hata türü oluştuğunda çalışan kod bloğu. Farklı hata türleri için birden fazlaexceptkullanılabilir.else: (İsteğe bağlı) Hata oluşmadığında çalışan kod bloğu.finally: (İsteğe bağlı) Her zaman çalışan kod bloğu. Kaynakları serbest bırakmak için kullanılır (örneğin, dosyaları kapatmak).raise: Açıkça istisna fırlatmak için anahtar kelime.
def divide(a, b):
if b == 0:
raise ValueError("Bölen sıfır olamaz")
return a / b
try:
divide(10, 0)
except ValueError as e:
print(f"Kullanıcı hatası işleme: {e}")
Avantajlar:
- Programın güvenilirliğini artırır.
- Hata oluşturabilecek kodu izole eder.
- Normal yürütme mantığını hata işleme mantığından daha temiz bir şekilde ayırmaya olanak tanır.