Python Deneme/Hariç ve Hata İşleme
Python komut dosyalarınızın çökmesini önleyin. Try, hariç, nihayet blokları ve özel istisnaların nasıl düzgün şekilde oluşturulacağını öğrenin.
Genel Bakış
Gerçek programlama dünyasında hatalar tamamen kaçınılmazdır. Dosyalar silinebilir, ağ bağlantıları kopabilir veya komut dosyanız bir sayı beklerken kullanıcı bir harf girebilir. Bu senaryolar koruma olmadan gerçekleşirse, Python yürütmeyi durdurur ve bir İstisna (çalışma zamanı hatası) oluşturarak tüm programın çökmesine neden olur. Hata işleme, bu hataları incelikle öngörme ve yönetme sanatıdır.
Python'da hata yönetiminin temeli "try" ve "hariç" blok yapısıdır. Potansiyel olarak tehlikeli kodu 'try' bloğunun içine yerleştirirsiniz. Python bunu yürütmeye çalışacaktır. Bir hata meydana gelirse, Python çökmek yerine istisnayı yakalar ve hemen aşağı atlayarak "hariç" bloğunun içindeki kodu çalıştırır. Bu, programın kurtarmasına, kolay bir hata mesajı görüntülemesine ve çalışmaya devam etmesine olanak tanır.
Bir genel "hariç:" bloğu yazmak yerine belirli, hedeflenen istisnaları yakalamak kritik bir en iyi uygulamadır. Örneğin, 'FileNotFoundError' veya 'ValueError'ı yakalamak, gerçekten bilmeniz gereken alakasız hataları (sözdizimi hatası gibi) yanlışlıkla maskelemek yerine, tam olarak beklediğiniz sorunu çözdüğünüzü açıkça garanti eder.
Python ayrıca isteğe bağlı bir 'else' bloğu da sağlar; bu blok, yalnızca 'try' bloğunun herhangi bir hata oluşturmadan tamamen başarıyla tamamlanması durumunda yürütülür. Burası kesinlikle tehlikeli operasyonun başarısına bağlı olan mantığı koymak için mükemmel bir yer. Ek olarak, "nihayet" bloğu ne olursa olsun (bir hata olsun ya da olmasın) kodu çalıştırmanın bir yolunu sağlar. 'Nihayet' bloğu, veritabanı bağlantılarını kapatmak veya dosya kilitlerini serbest bırakmak gibi temizleme eylemleri için hayati öneme sahiptir.
Python, hataları yakalamanın ötesinde, geliştiricilerin "yükseltme" anahtar sözcüğünü kullanarak bunları açıkça tetiklemelerine olanak tanır. Bir istisna oluşturmak, mantığınızda katı kısıtlamalar uygulamanıza ve geçersiz verileri uygulama durumunuzu bozmadan önce reddetmenize olanak tanır. Geliştiriciler, Python'un temel "Exception" sınıfından miras alan özel istisna sınıfları tanımlayarak, büyük kurumsal uygulamalar için yüksek düzeyde etki alanına özgü hata hiyerarşileri oluşturabilirler.
Kod ve Yürütme Çıkışı
Potansiyel olarak tehlikeli veya var olmayan dosya yapılarıyla etkileşimde bulunurken yapısal güvenlik oluşturma.
def divide_numbers(a, b):
try:
result = a / b
except ZeroDivisionError:
return "Error: Cannot divide by zero!"
except TypeError:
return "Error: Both arguments must be numbers."
else:
return f"The result is {result}"
finally:
print("Execution completed.")
print(divide_numbers(10, 2))
print(divide_numbers(10, 0))Execution completed.
The result is 5.0
Execution completed.
Error: Cannot divide by zero!Adım Adım Uygulama
- Kullanıcı formu gönderimlerini doğrulama
- Ağ isteklerinin zaman aşımında çökmemesini sağlamak
- Veritabanı bağlantılarını son blokta güvenli bir şekilde kapatma
Sıkça Sorulan Sorular
"Yükseltme" anahtar kelimesi nedir?
Raise anahtar sözcüğü, bir istisnayı bilerek yükseltmek için kullanılır. Ne tür bir hatanın ortaya çıkacağını ve kullanıcıya yazdırılacak metni tanımlayabilirsiniz.
İlgili Konular
Python fonksiyonlarında ustalaşın. Def kullanarak yeniden kullanılabilir kod yazmayı, bağımsız değişkenleri tanımlamayı, değerleri döndürmeyi ve kapsamı yerel ve genel olarak nasıl anlayacağınızı öğrenin.
Python Sınıfları ve Nesneye Yönelik ProgramlamaPython sınıflarına, nesnelerine, kalıtımına ve OOP kavramlarına eksiksiz bir giriş. Sağlam veri modelleri oluşturun ve python uygulamalarınızı ölçeklendirin.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
Python'da Liste Nasıl Sıralanır
Python'da sort() yöntemini ve sorted() işlevini kullanarak bir listeyi nasıl sıralayacağınızı öğrenin. Özel anahtar sıralama ve ters sıralama örneklerini keşfedin.
Python Yerleşik İstisna ve Hata Türleri Hile Sayfası
Yaygın Python hata türleri için başvuru kılavuzu. ValueError, TypeError, IndexError ve KeyError'da hata ayıklamayı ve istisnaları nasıl ortaya çıkaracağınızı öğrenin.
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.