Yükleniyor...

Python Hata Kodları

Python hata kodları, program çalışırken oluşan hataları ve istisnaları tanımlar. Bu kodları anlamak, yazılım geliştirme sürecinde hataların kaynağını hızlı bir şekilde tespit etmek ve çözmek için kritik öneme sahiptir. Hatalar, yazım (syntax) hataları, tip uyuşmazlıkları, geçersiz değerler, eksik kaynak erişimi veya mantıksal hatalar gibi durumlarda ortaya çıkar. Python, bu hataları istisnalar (exceptions) aracılığıyla bildirir ve geliştiriciye hataları yönetme imkânı sağlar. Anahtar kavramlar arasında yazım kuralları, istisna türleri, hata ayıklama (debugging) ve hata yönetimi bulunur. Bu rehber, yaygın Python hata kodlarını listeleyerek, her hatanın tetiklenme koşullarını, örneklerini ve uygulanabilir çözüm yöntemlerini sunar. Okuyucu, hataları tanımlama, yakalama ve düzeltme konusunda ileri seviye beceriler kazanacak, backend uygulamalarda güvenilir ve hatasız yazılım geliştirme tekniklerini öğrenebilecektir.

Örnek olarak, kullanıcı girişlerini işleyen ve dosya okuma/yazma işlemleri yapan bir sistem düşünelim. Bu sistemde FileNotFoundError, ValueError veya ZeroDivisionError gibi hatalar meydana gelebilir. Bu hataların doğru şekilde yönetilmesi için kritik işlemler try blokları içinde yapılır ve her bir istisna türü için ayrı except blokları tanımlanır. Böylece her hata türüne uygun tepki verilebilir, loglama yapılabilir ve alternatif çözümler uygulanabilir. finally bloğu, hata oluşsa dahi kaynakların doğru şekilde serbest bırakılmasını sağlar. Bu yaklaşım, beklenmedik çöküşleri önler, kodun sürdürülebilirliğini artırır ve üretim ortamında backend sistemlerin stabil çalışmasını garanti eder.

Example

python
PYTHON Code
def veri_islemleri():
try:
# NameError: tanımsız değişken kullanımı
print(tanimsiz_degisken)

# ZeroDivisionError: sıfıra bölme
sonuc = 10 / 0

# ValueError: geçersiz dönüşüm
sayi = int("abc")

# FileNotFoundError: dosya bulunamadı
with open("olmayan_dosya.txt", "r") as f:
icerik = f.read()

# AttributeError: olmayan metod çağrısı
[].appendx(1)

except NameError as ne:
print(f"Yakalanan NameError: {ne}")
except ZeroDivisionError as zde:
print(f"Yakalanan ZeroDivisionError: {zde}")
except ValueError as ve:
print(f"Yakalanan ValueError: {ve}")
except FileNotFoundError as fe:
print(f"Yakalanan FileNotFoundError: {fe}")
except AttributeError as ae:
print(f"Yakalanan AttributeError: {ae}")
except Exception as e:
print(f"Yakalanan başka bir istisna: {e}")
finally:
print("Kaynak temizliği tamamlandı.")

veri_islemleri()

📊 Comprehensive Reference

Error Description When It Occurs Example Notes
SyntaxError Sözdizimi hatası Yanlış Python yazımı eval('x === 2') Derleme sırasında oluşur
IndentationError Girinti hatası Yanlış girinti kullanımı if True:\nprint("Merhaba") SyntaxError alt türü
TabError Tab ve boşluk karışımı Girintide tab ve boşluk karışımı <tab> <space> print("Merhaba") Girinti tutarlılığı gerekir
NameError Tanımsız değişken Var olmayan değişken kullanımı print(x) Sıklıkla debug sırasında
TypeError Yanlış tip Uyumsuz tip ile işlem 5 + "5" Python dinamik tiptedir
ValueError Geçersiz değer Dönüşüm hatası int("abc") Girdi doğrulama gerekir
IndexError Indeks dışı Liste veya dizin dışında erişim lst = []; lst[1] Liste uzunluğunu kontrol edin
KeyError Anahtar yok Sözlükte olmayan anahtar d = {}; d['x'] dict.get() kullanılabilir
AttributeError Öznitelik yok Olmayan metod çağrısı [].appendx(1) Metod ismini kontrol edin
ZeroDivisionError Sıfıra bölme Bölen sıfır 10 / 0 Böleni kontrol edin
ImportError Modül bulunamadı Modül mevcut değil import olmayan_modul Kurulum kontrolü
ModuleNotFoundError Modül bulunamadı Python 3.6+ import yok_modul Python 3.6+
FileNotFoundError Dosya bulunamadı Dosya yok open("yok.txt") Dosya yolu kontrolü
IsADirectoryError Dosya yerine dizin Dizin açma hatası open("klasor") OS bağımlı
NotADirectoryError Dizin yerine dosya os.listdir("dosya.txt") OS bağımlı
PermissionError İzin yok Erişim reddedildi open("/root/file") İzinleri kontrol edin
OSError Sistem hatası OS kaynak hatası os.remove("/root/file") Diğer hataların üst sınıfı
OverflowError Taşma Çok büyük değer 2.0**10000 Python 3 nadiren
RecursionError Derin özyineleme Çok fazla recursive çağrı def f(): f(); f() sys.setrecursionlimit()
MemoryError Bellek yetersiz Büyük veri a = 'a'*10**10 Sistem bağımlı
StopIteration Iterator bitti Boş iterator next(iter([])) Özelleştirilmiş iteratörler
AssertionError Assert başarısız assert False Koşul doğrulama
FloatingPointError Ondalık hata Geçersiz FP operasyonu numpy.seterr(all='raise') NumPy
UnicodeError Kodlama/çözme hatası "ü".encode("ascii") Encoding kontrolü
UnicodeDecodeError Çözümleme hatası b'\xff'.decode('utf-8') Dosya okuma
UnicodeEncodeError Kodlama hatası "ü".encode("ascii") Encoding yanlış
RecursionWarning Özyineleme uyarısı Derin özyineleme import warnings Kritik değil
DeprecationWarning Fonksiyon eski Eski fonksiyon kullanımı warnings.warn("deprecated") Fonksiyon güncelleyin
RuntimeWarning Çalışma zamanı uyarısı Potansiyel problem import warnings Kritik değil
FutureWarning Gelecek uyumluluk Gelecekte değişecek warnings.warn("future") Uyumluluk
UserWarning Kullanıcı uyarısı Özel uyarı warnings.warn("user") Kritik değil
PendingDeprecationWarning Yakında eski Fonksiyon kaldırılacak warnings.warn("pending") Nadir
ResourceWarning Kaynak serbest değil Dosya kapatılmadı open("file") Python 3+
ArithmeticError Aritmetik hata Geçersiz işlem int("x")/0 Diğer hataların üst sınıfı
BufferError Buffer hatası Yanlış buffer işlemi memoryview(b'').release() Nadir
ConnectionError Bağlantı hatası Ağ hatası requests.get("bad_url") Ağa bağlı
BrokenPipeError Pipe kırık Kapalı pipe os.write(fd, b'data') Unix
ChildProcessError Alt süreç hatası Alt süreç problemi os.waitpid(-1) Nadir
EOFError Beklenmedik dosya sonu EOF input input() EOF Boş input
EnvironmentError Ortam hatası OS veya ortam problemi os.remove("/root/file") OSError üst sınıfı
GeneratorExit Generator çıkışı gen.close() Generatorlar
IOError G/Ç hatası Okuma/yazma hatası open("/root/file") Python 3 -> OSError
InterruptedError Kesildi Sistem çağrısı kesildi os.read(fd, 0) Unix
LookupError Arama hatası Geçersiz arama d['x'] LookupError üst sınıfı
ReferenceError Geçersiz referans Weakref süresi doldu import weakref Nadir
RuntimeError Çalışma zamanı hatası raise RuntimeError() Genel hata
StopAsyncIteration Async iterator bitti async for Python 3.5+
SyntaxWarning Sözdizimi uyarısı Şüpheli syntax warnings.warn("syntax") Programı durdurmaz
SystemError Python iç hatası Internal error sys._getframe(0) Nadir
SystemExit Sistem çıkışı sys.exit() Program sonlandırılır
TimeoutError Zaman aşımı Timeout socket.settimeout()
UnboundLocalError Atanmamış yerel değişken Önce kullanım x=1; def f(): print(x); x=2 NameError alt türü
ZeroDivisionError Sıfıra bölme Bölen sıfır 10 / 0 Böleni kontrol edin

📊 Complete Properties Reference

Error Exception Type Default Behavior Description Compatibility
SyntaxError Derleme hatası Programı durdurur Yanlış Python yazımı Tüm Python sürümleri
IndentationError SyntaxError alt türü Programı durdurur Yanlış girinti Tüm Python sürümleri
TabError IndentationError alt türü Programı durdurur Tab ve boşluk karışımı Tüm Python sürümleri
NameError İstisna Hata verir Tanımsız değişken kullanımı Tüm Python sürümleri
TypeError İstisna Hata verir Uyumsuz tip işlemleri Tüm Python sürümleri
ValueError İstisna Hata verir Geçersiz değer Tüm Python sürümleri
IndexError İstisna Hata verir Dizin dışı erişim Tüm Python sürümleri
KeyError İstisna Hata verir Sözlükte olmayan anahtar Tüm Python sürümleri
AttributeError İstisna Hata verir Olmayan metod/özellik çağrısı Tüm Python sürümleri
ZeroDivisionError İstisna Hata verir Sıfıra bölme Tüm Python sürümleri
... ... ... ... ...

🧠 Bilginizi Test Edin

Başlamaya Hazır

Test Your Knowledge

Python Hata Kodları ile ilgili bilginizi test edin

3
Sorular
🎯
70%
Geçmek İçin
♾️
Süre
🔄
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek