2015-09-28 16 views
9

Farz edelim a bir özel durum $e atar. Bu nedenle, phpdoc'a göre a tanımı üzerinde @throws ek açıklamasının olması gerekir.Yaygın istisnalar için istisna açıklamaları

ben başka bir fonksiyon ba

function b() { 
    a(); 
} 

olduğunu çağıran varsa o iyi bir uygulama/kötü uygulama/b istisna bu tür atmak olduğunu belirten b tanımı üzerinde bir @throw ek açıklaması yanlış/doğru mu?

+0

PHPDoc, JavaDoc'a dayanıyordu ve Java'da b() yönteminize '@ throws' bildirimini dahil edeceğinizden eminim. Ama bence daha önemli olan bir soru, b() 'nin özellikle bir deneme/yakalama bloğu ile yakalamak isteyebileceğiniz bir özel durum türü atabileceğini bilmek sizin ve diğer programcıların sizin için yararlı olacağını düşünmemenizdir. b() çağırırken. –

cevap

3

@throws açıklama, sen soruyu sormak zorunda function() bir istisna
İlk atabilir eğer geliştirici için belirtmektir: neden b() yöntemde istisna tutmazsan, geçerli bir neden yoktur bunun için ?
Evet? beri PHP doesn', yüzden sizi işaret veya() işlevini kullanarak b() GÜVENLİ DEĞİL diğerlerinin geliştiriciler edecek @throws ek açıklama eklemek gerekir ve onlar istisna Ayrıca
yapacaklar eğer yakalamak karar veya yaymak olacaktır t kuvvet sizi başka bir işlev tarafından atılan bir istisna yakalamak için, @throws açıklama b() istisnalar atar, Nitekim olarak bir zorunluluk/zorunlu Uygulamaya dair

+0

Görme zorluğu istisnalara karşı kötü bir tutum olduğu için körü körüne yakalama istisnaları. İstisnaların avantajı, başarı durumu için temiz bir kod yolu sağlamanız ve bunları yığının yayılmasına izin vermenin önemli bir parçası olmasıdır. Bunu açıkça inkar etmiyorsunuz, ama cevabınız buna (IMHO kusurlu) karşı tavırları gösteriyor. –

1

oldu. Bunun doğrudan veya dolaylı olarak gerçekleşip gerçekleşmeyeceği, arayanla ilgisizdir. Şimdi, ek açıklamaların, farklı türetilmiş sınıflarla değişebilen veya hatta değişebilen iç uygulama ayrıntılarını belgelemesi gerekmemektedir. Bunun yerine, ek açıklamalar, arayan için görünür davranışını belgelemektedir, bu nedenle etkin istisnalarının ek açıklamaların da bir parçası olması gerekir.