المشغل سيطرة الخطأ هو @. يتم إلحاق هذا إلى واجهة التعبير عن ذلك المتغيرات، وظائف، وتشمل المكالمات.
لكن لا يمكنك استخدام المشغل السيطرة على خطأ حيث تم التصريح شيء مضيفا لذلك أمام وظيفة أو تعريف الفئة.
وعلاوة على هذا المشغل supresses فقط رسائل من تعبير، فإنه لا supress الاستثناءات ، وسوف لا يزال يتم طرح هذه كالمعتاد. ويرد مثالا على ذلك في عمل أدناه.
لذلك سوف رمز أعلاه ضمان أن يتم طرح أية تحذيرات أو ملاحظات من قبل الدالة أعلاه.
لكن عليك أن تكون حذرا ألا يساء المشغل سيطرة خطأ، ينبغي أن تستخدم لوقف الأخطاء التي القيت حيث تعرف أنها آمنة لتجاهلها ليس باعتبارها وسيلة عامة من تجاهل المشاكل المحتملة، على حساب كتابة دفاعي رمز .
رمز أعلاه بالتحقق مما إذا تم تعيين المتغير قبل تعيينه إلى اسم دولار بسبب مبرمج غير متأكد ما اذا كان سيتم تعيين أنه يريد ذلك لوقف رسالة الخطأ التي تظهر. ومع ذلك، يمكن تجاهل هذا الخطأ عن طريق استخدام مشغل سيطرة خطأ كما يلي:
Unfortunatley باستخدام أسلوب تثبيط الخطأ مرتين كما بطيئة، كما isset. لذلك يجب عدم استخدام المشغل مراقبة الخطأ، واختصار الطريق نحو دفاعي الاختبارات منطق البرمجة
يمكنك أيضا إخفاء erors عموما باستخدام الدالة error_reporting لالنصي.
وهذه وظيفة تقييد ما يتم إظهار نوع من الأخطاء
رمز أعلاه بإيقاف كل خطأ الإبلاغ عن الكتابة، ولكن يمكنك أيضا أن تسمح أنواع معينة من الأخطاء باستخدام مشغلي المختصة بالبت جنبا إلى جنب مع أنواع الخطأ.
| قيمة | ثابت | وصف |
|---|---|---|
| 1 | E_ERROR | استخدام هذا الخيار سوف supress أية أخطاء قاتلة، وهذه هي أخطاء السيناريو حيث لا يمكن ان يستمر عادة. |
| 2 | E_WARNING | هذا الخيار يسمح لك supress التحذيرات، التي ليست قاتلة ولكنها مشاكل بالتفصيل مع رمز، والتي يمكن في ظروف معينة أن تكون خطيرة. |
| 4 | E_PARSE | هذا الخيار يسمح لك supress تحليل الأخطاء، والتي هي الأخطاء التي تحدث عند PHP يحاول تحليل النصي أثناء وقت الترجمة، ولكن فشل لسبب ما. |
| 8 | E_NOTICE | تشير إلى أن واجه السيناريو شيء يمكن أن يكون خطأ، ولكن يمكن ان يحدث عادة عند تشغيل البرنامج النصي. |
ولذلك باستخدام القيم أعلاه يمكن suppresed رسائل خطأ مختلفة كما هو موضح أدناه:
وهذا التقرير الأخطاء القاتلة والتحذيرات
تقارير كل شيء ما عدا الملاحظات. لذلك يمكنك إضافة ما يصل إلى استبعاد السيناريو في الشكل أعلاه، كما تريد باستخدام | المشغل.
تذكر أنه في حين أن الأخطاء supressing في بعض الحالات قد يكون من الضروري، فمن الأفضل دائما لمحاولة الأولى ومنع الخطأ، فبدلا من قمع للتو. وينبغي جعل هذا السيناريو الخاص بك أكثر يتسم بفعالية.