Özel Durum Sınıfları
Hataları daha açık biçimde iletmek için kendi özel durum türlerinizi tanımlayın.
Özel Durum Sınıfları, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
Giriş
Özel İstisnalar Neden Kullanılır?
class AppError(Exception):
pass
raise AppError('something went wrong')Exception Sınıfından Kalıtım
class ValidationError(Exception):
pass
try:
raise ValidationError('email is invalid')
except ValidationError as e:
print(e)Özel Öznitelikler Ekleme
class APIError(Exception):
def __init__(self, status, message):
self.status = status
super().__init__(message)
try:
raise APIError(404, 'Not found')
except APIError as e:
print(e.status, e)İstisna Hiyerarşisi
class AppError(Exception): pass
class DBError(AppError): pass
class NetworkError(AppError): pass
try:
raise DBError('timeout')
except AppError as e:
print('app error:', e)Özel __str__ Yöntemi
class RangeError(ValueError):
def __init__(self, val, lo, hi):
self.val, self.lo, self.hi = val, lo, hi
def __str__(self):
return f'{self.val} not in [{self.lo}, {self.hi}]'
print(RangeError(15, 0, 10))Özel İstisnalar Oluşturma
class InsufficientFundsError(Exception):
def __init__(self, needed, available):
super().__init__(f'Need {needed}, have {available}')
def withdraw(balance, amount):
if amount > balance:
raise InsufficientFundsError(amount, balance)
return balance - amount
try:
withdraw(100, 200)
except InsufficientFundsError as e:
print(e)Temel Sınıfa Göre Yakalama
class AppError(Exception): pass
class DBError(AppError): pass
try:
raise DBError('conn failed')
except AppError:
print('any app error')Bağlam Yöneticisi ile İstisna
class SuppressValue(Exception): pass
try:
raise SuppressValue('ignored')
except SuppressValue:
pass # suppress silently
print('continued')Özel İstisnaları Belgeleme
class ConfigError(Exception):
"""Raised when configuration is invalid.
Attributes:
key: The invalid config key
"""
def __init__(self, key, msg):
super().__init__(msg)
self.key = keyEn İyi Uygulamalar
# Good structure:
class AppError(Exception): pass
class ValidationError(AppError): pass
class NotFoundError(AppError): pass
print('hierarchy demo')Hızlı Kontrol
Özet
Devam Edin
Sıkça Sorulan Sorular
“Özel Durum Sınıfları” dersi ücretsiz mi?
Evet — “Özel Durum Sınıfları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“Özel Durum Sınıfları” dersinde ne öğreneceğim?
Hataları daha açık biçimde iletmek için kendi özel durum türlerinizi tanımlayın. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Özel Durum Sınıfları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Özel Durumları Anlama
- try / except / else / finally
- Özel Durum Oluşturma ve Yeniden Oluşturma
- Özel Durum Sınıfları