PHP 5.3.2 عدم رمي الاستثناءات
سؤال
أحاول إلقاء استثناء باستخدام PHP 5.3.2 وهو يعطيني الخطأ التالي:
خطأ تحليل: خطأ في بناء الجملة ، T_Throw غير متوقع
أحاول إلقاء استثناء بالطريقة التالية:
throw new Exception('Property ' . $name . ' doesn\'t exist in class Index', '');
تحرير: لقد حاولت أيضا
throw new Exception('Property ' . $name . ' doesn\'t exist in class Index');
لم يغير الخطأ الذي كنت أحصل عليه.
الطريقة الكاملة:
public function __get($name)
{
if(property_exists($this, $name)
throw new Exception('Property ' . $name . ' doesn\'t exist in class Index');
return $this->$name;
}
المحلول
تحقق من رمز PHP الخاص بك لـ Bloopers ، وأحيانًا أفتقد "؛" والتي يمكن أن تسبب أخطاء.
حاول أيضًا كتابة البيان if رسميًا ، إضافة بين قوسين. أعلم أنه لا ينبغي أن يصنع أي احتمالات ولكن من يعرف بالبرمجة!
نصائح أخرى
أنت تفتقد أقواس الختام لخط IF () و PHP يرى هذا
if(property_exists($this, $name) throw new Exception(...);
وهو ليس بناء جملة صالح. ضع أ) في نهاية خط if ():
if(property_exists($this, $name))
تحرير: أنا أكره عندما أفتقد الردود أدناه إجابة. :(
لا تنتمي إلى StackOverflow