SORU
12 Mart 2010, Cuma


O'imkansız __dan özel durum s neden olabilirdi()?

İmkansız __olabilirdi dan özel durum neden()?

class a
{
    public function __toString()
    {
        throw new Exception();
    }
}

$a = new a();
echo $a;

yukarıdaki kod bu üretir:

Fatal error: Method a::__toString() must not throw an exception in /var/www/localhost/htdocs/index.php on line 12

Bu davranış, açıklanan http://php.net/manual/en/migration52.incompatible.php işaret ettim, ama neden? Bunu yapmak için herhangi bir sebep?

Burada kimse bunu bilmiyor olabilir mi?

Her zamanki gibi php-dev-team şey diyor ama kılavuzu görmek tracker hata: http://bugs.php.net/50699

CEVAP
12 Mart 2010, Cuma


Birkaç aramadan sonra diyor ki this, buldum:

Johannes açıkladıbir özel durum dizesi için bir döküm sırasında atılan doğru Çalışabilir Motoru tarafından ele olacaktır emin olmak için bir yolu yokturbu Motorun büyük parçaları yeniden sürece değişmeyecek. Geçmişte bu tür konular hakkında tartışmalar olduğunu da sözlerine ekledi ve Guilherme arşivleri kontrol önerdi.

Johannes yukarıda başvurulan "" PHP bu şekilde davranır neden olarak bulabilirsiniz. bir açıklama resmi olarak muhtemelen bu yüzden PHP 5.3 Sürüm Yöneticisi,

Bu bölümde söz ediyor:

__toString(), garip trigger_error() kabul eder.

Yani tüm __toString() içinde hata raporlama açısından kayıp değildir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • andony5589

    andony5589

    7 Aralık 2011
  • SelmerSaxMan

    SelmerSaxMan

    24 HAZİRAN 2006
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007