O'imkansız __dan özel durum s neden olabilirdi()? | Netgez.com
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

  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011
  • SPBedition

    SPBedition

    24 HAZÄ°RAN 2013
  • warningthepeople

    warningthepe

    21 EYLÃœL 2011