Evet, SPL tarafından sağlanan İstisna alt tipleri kullanarak öneriyoruz. Bu farklı istisnalar farklı işlemek için (bir çerçevede ya da app ya) kodu çağırarak sağlar.
A DomainException
Eğer kullanıcı rapor ve onlara verileri yeniden girmek için bir şans vermelidir ki, geçersiz kullanıcı girişi gösterebilir. A BadMethodCallException
kodunuzda bir kusur gösterebilir ve bunu oturum ve bunu farklı bir şekilde işlemesi gerekir.
Ama bu farklı durum senaryoları istisna attı sınıf veya bileşeni ile ilgisi var. A BadMethodCallException
muhtemelen bir MVC bileşen veya DB erişim katmanı olur olsun aynı şekilde ele alınmalıdır.
Ben onun 1.0 sürümü ile Zend Framework proje neden oldu. Ben istisna hiyerarşisini yeniden istedim ve ben her bileşen için bir tek istisna kullanmak için (önce benim projeye katılmadan) keyfi bir karar olduğunu düşündüm. Bu mantıklı değildi.
Ne yazık ki, istisnalar rearchitecting onun 1.0 sürümü bir kilometre taşı için ürün almak kadar önemli değildi. Ben Zend proje için belirlenen bu programa öncelik takip etmek, ve, özellik tam sürüme ertelenmiş gerekiyordu almak için kesinlikle gerekli değil hemen hemen her şeyi yapmak zorunda.