Python'da İstisnalar Nasıl Ele Alınır (Dene-Hariç-Nihayet)
Python'da try, hariç, else ve nihayet bloklarını kullanarak istisnaları nasıl ele alacağınızı öğrenin. Hatasız ve çökmeye dayanıklı Python kodu yazın.
Genel Bakış
Eksik dosyalar, geçersiz kullanıcı girişleri, veritabanı arızaları veya ağ kesintileri gibi beklenmedik durumlarla baş edebilecek sağlam bir yazılım hazırlanmalıdır. Python'da bir hata oluştuğunda bu bir istisna oluşturur. İstisnalar işlenmeden bırakılırsa programınızı anında durdurur ve bir geri izleme yığını yazdırır.
Python'un çalışma zamanı hatalarını yönetmek için kullandığı birincil araç "try-hariç" bloğudur. Hata oluşturabilecek kodu 'try' bloğunun içine yerleştirirsiniz ve hata işleme kodunu bir veya daha fazla 'hariç' bloğunun içine tanımlarsınız. İstisna sınıfının tam olarak belirtilmesi ("ValueError" veya "ZeroDivisionError" gibi) önemle tavsiye edilir, çünkü genel istisnaların ('hariç:') yakalanması hataları maskeleyebilir.
İstisna akışınızı daha anlamlı hale getirmek için Python iki ek blok sağlar: "else" ve "finally". 'Else' bloğu yalnızca 'try' bloğunda hiçbir istisna oluşturulmadığında yürütülür; bu, yalnızca başarı durumunda çalışması gereken kod için kullanışlıdır. 'Nihayet' bloğu, bir istisnanın oluşup oluşmadığına bakılmaksızın *her zaman* çalıştırır, bu da onu dosyaları veya veritabanı bağlantılarını kapatmak gibi temizlik işlemleri için mükemmel bir yer haline getirir.
Kod ve Yürütme Çıkışı
Bu betik, Python'da try, hariç, else ve son olarak kullanılarak güçlü hata işlemeyi gösterir.
def divide_numbers(a, b):
try:
# Code that might raise an exception
result = a / b
except ZeroDivisionError:
# Handling a specific exception
print("Error: Cannot divide by zero!")
except TypeError:
# Handling another exception type
print("Error: Inputs must be numbers!")
else:
# Run only if try block succeeded
print(f"Success! Result of {a}/{b} is {result}")
finally:
# Runs no matter what
print("Division attempt completed.")
divide_numbers(10, 2)
print("---")
divide_numbers(10, 0)Success! Result of 10/2 is 5.0
Division attempt completed.
---
Error: Cannot divide by zero!
Division attempt completed.Adım Adım Uygulama
- Başarısız olabilecek kodu try bloğunun içine yerleştirin.
- Hataları sorunsuz bir şekilde ele almak için ExceptionType: blokları ile belirli hata türlerini yakalayın.
- Yalnızca başarılı try bloklarında yürütülmesi gereken kod için else kullanın.
- Temizleme eylemlerinin hatalardan bağımsız olarak çalışmasını garanti etmek için nihayet kullanın.
Sıkça Sorulan Sorular
Tek bir hariç blokta birden fazla istisna yakalayabilir miyim?
Evet, bunları bir demet olarak iletebilirsiniz: hariç (ValueError, TypeError) e: olarak.
Kendi istisnalarımı nasıl ortaya çıkarabilirim?
Raise anahtar sözcüğünü ve ardından istisna örneğini kullanın: Raise ValueError("Geçersiz yapılandırma değeri").
İlgili Konular
Python'da int() işlevini kullanarak bir dizeyi tam sayıya nasıl dönüştüreceğinizi öğrenin. Hataları güvenli bir şekilde ele alın ve sayıları ikili, sekizli veya onaltılıdan dönüştürün.
Python'da Dosya Nasıl OkunurPython'da dosyaları nasıl okuyacağınızı öğrenin. With open ifadesi, okuma satırı, okuma satırları ve dosya istisnalarını güvenli bir şekilde yönetme konusunda uzmanlaşın.
Python'da Bir Dosyaya Nasıl YazılırPython'da dosyalara nasıl metin yazılacağını öğrenin. Güvenli içerik yöneticileriyle yazma ("w") ve ekleme ("a") modları arasındaki farkı öğrenin.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
Python Döngüleri
Veriler üzerinde yineleme yapmak için Python döngülerini nasıl kullanacağınızı öğrenin. Etkileşimli örneklerle for döngüleri, while döngüleri, kesme, devam etme ve döngü en iyi uygulamaları konusunda uzmanlaşın.
Python String Yöntemleri Hile Sayfası
Python dize manipülasyonu için eksiksiz bir başvuru kılavuzu. Dize özelliklerini biçimlendirme, arama, bölme, değiştirme ve denetleme konusunda uzmanlaşın.
Python vs JavaScript: Hangi Programlama Dili En İyisidir?
Python ve JavaScript arasında kapsamlı bir karşılaştırma. Sözdizimi farklılıklarını, performansı, kullanım örneklerini (arka uç ve ön uç) ve kodlama örneklerini keşfedin.