Kendimi her zaman bununla güreşiyorum ... denemek / yakalamak ve kod bu müstehcen karışıklık sekmeler, parantezler ve sıcak patates gibi çağrı yığınına geri atılan istisnalar haline değil doğru dengeyi bulmaya çalışıyorum. Örneğin, şu anda geliştirdiğim SQLite kullanan bir uygulamam var. Ben SQLite çağrıları ve Veritabanı içine / dışına gitmek için şeyler kabul eden bir Model soyutlayan bir Veritabanı arayüzü var ... Yani / eğer bir SQLite istisna oluşursa, Model (kim onu çağırdı kadar) atmak zorunda ), bunu AddRecord / DeleteRecord / adlı birisine iletmek zorunda olan ...
Hata kodları göz ardı edilebilir, unutulabilir, vb.Gibi hata kodlarını döndürmenin aksine bir istisna hayranıyım, oysa bir İstisna esasen ele alınmalıdır (verilmiş, hemen yakalayabilir ve devam edebilirim ...) eminim şu anda olanlardan daha iyi bir yol olmalı.
Düzenleme: Ben bu biraz farklı ifadeler gerekirdi. Farklı türler olarak yeniden atmayı anlıyorum ve böyle, kötü bir şekilde ifade ettim ve bu benim kendi hatam. Benim sorum ... bunu yaparken kodu en iyi nasıl temiz tutar? Bir süre sonra bana aşırı derecede dağınık hissetmeye başlar.