cemir_error
Python ve PyPy'de oluşan hataları yakalayıp ayrıntılarıyla, renkli olarak gösteren kütüphane.
cemir_error, Python ve PyPy programlarında yakalanan hataları renkli ve açıklamalı bir biçimde ekrana yazan küçük bir kütüphane. Hatanın türünü, ne anlama geldiğini, nasıl giderilebileceğini ve hatanın projede hangi dosyanın hangi satırında oluştuğunu bir arada gösteriyor. Açıklamalar Türkçe, İngilizce, Fransızca ve Almanca olarak hazır. 2023 yılının Ekim ayında yazdım ve PyPI'da cemir-error adıyla yayınladım.
Amaç
Python'un varsayılan hata çıktısı (traceback), hatanın oluştuğu yere kadar çağrılan bütün fonksiyonları, kullanılan kütüphanelerin iç dosyaları da dahil olmak üzere listeliyor. Özellikle Python'a yeni başlayanlar için bu uzun liste içinde kendi kodlarındaki asıl satırı bulmak ve hata mesajının ne demek istediğini anlamak zor oluyor. cemir_error'u, hatanın yalnızca projeye ait kısmını öne çıkarmak ve hata türünü anlaşılır bir dilde açıklamak için hazırladım.
Nasıl çalışır
Kütüphanenin ana fonksiyonu error_tracking. Bu fonksiyon bir try bloğunun except kısmında, yakalanan hata nesnesi, sys modülü ve istenen dil koduyla çağrılıyor. Fonksiyon önce hatanın türünün adını alıyor ve seçilen dilin sözlük dosyasından bu türe ait açıklamayı ve çözüm önerisini buluyor. Ardından hatanın oluştuğu anın tarih ve saatini, hata türünü, açıklamasını ve çözüm önerisini renkli olarak yazıyor.
Sonra traceback kayıtlarını sondan başa doğru dolaşıyor. Her kaydın dosya yolunu, o an çalışılan dizinin son dört klasöründen oluşan proje yoluyla karşılaştırıyor. Yalnızca proje içindeki dosyalara ait kayıtları gösteriyor; her biri için dosya yolunun son kısmını, satır numarasını ve hatanın oluştuğu kod satırını yazıyor. Böylece kütüphanelerin iç dosyalarına ait kayıtlar ekrana gelmiyor.
Öne çıkan özellikler
- Sıfıra bölme, değer, tür, anahtar, dosya bulunamadı, indeks, nitelik, içe aktarma ve sözdizimi hataları dahil 18 yaygın hata türü için açıklama ve çözüm önerisi içeriyor.
- Açıklamaları dört dilde sunuyor ve dil, fonksiyona verilen tek bir parametreyle seçiliyor.
- Yalnızca projeye ait dosyalardaki satırları gösterdiği için hatanın kaynağı daha hızlı bulunuyor.
- Tarih, hata türü, dosya yolu, satır numarası ve kod satırı farklı renklerle ayrılıyor.
Teknik altyapı
Kütüphane Python standart kütüphanesindeki traceback, os ve datetime modüllerini kullanıyor ve hiçbir dış bağımlılığı yok. Her dilin açıklamaları ayrı bir Python dosyasında, hata türü adını anahtar olarak kullanan bir sözlükte tutuluyor. Renkler ANSI kaçış kodlarıyla veriliyor. Paket setuptools ile hazırlandı ve MIT lisansıyla dağıtılıyor.
Durum
Kütüphane 2023 Ekim'indeki sürümlerden sonra güncellenmedi. Sözlükte bulunmayan bir hata türü yakalandığında açıklama aranırken fonksiyonun kendisi hata veriyor; bu yüzden şu an yalnızca listedeki hata türleri için güvenle kullanılabiliyor.
Kullanım alanları
- Python öğrenenlerin hata mesajlarını kendi dillerinde okuyup ne yapmaları gerektiğini anlamaları için kullanılabilir.
- Küçük betiklerde ve geliştirme sırasında hatanın projedeki kaynağını hızlıca görmek için işe yarar.
- Kategori
- Python kütüphaneleri
- Yıl
- 2023
Teknolojiler
- Python
- PyPy
- PyPI