مقدمة موجزة
ASP بسيط للغاية بحيث لا يفكر العديد من المطورين في معالجة الأخطاء. يمكن أن يجعل التعامل الصحيح للأخطاء تطبيقك أكثر منطقية. لقد رأيت العديد من المواقع التجارية المكتوبة في ASP ، معظمها يتجاهل معالجة الأخطاء.
هناك ثلاثة أنواع أخطاء رئيسية:
خطأ التجميع:
يحدث هذا النوع من الخطأ بشكل عام بسبب مشكلة بناء جملة الشفرة.
توقف الفعل ASP عن التشغيل بسبب خطأ في التجميع.
تشغيل خطأ
يحدث هذا الخطأ عندما تكون مستعدًا لتشغيل ASP.
على سبيل المثال: إذا حاولت تعيين قيمة لمتغير ، ولكنها تتجاوز النطاق المسموح به من قبل المتغير.
خطأ منطقي
الأخطاء المنطقية هي الأكثر صعوبة في اكتشافها. غالبًا ما يكون هذا النوع من الخطأ خطأ هيكليًا لا يمكن اكتشافه بواسطة الكمبيوتر.
هذا يتطلب منا التحقق بدقة الكود الخاص بنا.
نظرًا لأن أخطاء التجميع تحدث عادةً مع أخطاء منطقية ويمكن عرضها بشكل عام ، فإن ما نشعر بالقلق هو خطأ العملية. كل ذلك ينهي تشغيل ASP ويترك حفنة من النص غير الودي للغاية للمستخدم.
فكيف نتعامل مع أخطاء العملية! ؟ دعنا أولاً نلقي نظرة على أمر الخطأ الوحيد الذي قدمته لنا ASP - onerrorsumenext (أود أن أذكر المبتدئين هنا أن هناك فقط بيان onerrorresumenext في ASP ، لا يوجد بيان onerrorresumegoto). إذا لم تستخدم بيان onerrorresumenext ، فسيحدث جميع أخطاء العملية. هذا أمر قاتل ، ثم سيتم "عرض رمز الخطأ" للمستخدم ، وسيتوقف برنامج ASP أيضًا.
هنا رمز خطأ:
مزود Microsoft OLEDB لـ ODBCDriversError80004005
[Microsoft] [ODBCDRIVERMANAGER] DATASORCENAMENOTFOUNDEDNODEFAULTDRIVERSPECIDE
/test.asp،line60
عندما نستخدم عبارة onerrorresumenext في الجزء العلوي من البرنامج ، سيتم تجاهل جميع الأخطاء وسيقوم البرنامج تلقائيًا بتنفيذ البيان التالي. وبهذه الطريقة ، سيتم تنفيذ البرنامج بالكامل ، ولن يرى المستخدم رسالة الخطأ بعد حدوث خطأ. ولكن هناك أيضًا عيوب بهذه الطريقة ، أي إذا لم يتم تنفيذ البرنامج كما تتخيل ، فسيكون من الصعب عليك معرفة الخطأ ، لذلك عليك التعامل مع الأخطاء عند الضرورة.
التعامل مع الأخطاء
في ASP ، فإن أفضل طريقة للتعامل مع الأخطاء هي وضع الرمز في أسفل البرنامج للتعامل مع الأخطاء. أوصي أيضًا باستخدام المخازن المؤقتة في كل برنامج ASP. وبهذه الطريقة ، في حالة حدوث خطأ ، ستتوقف الصفحة وسيتم مسح محتوى الصفحة ، بحيث لن يرى المستخدم رسالة الخطأ وسيكون هناك شكاوى أقل عنك! هنا مثال:
<٪@language = "vbscript" ٪>
<٪ 'مجموعة مخزن المؤقت إلى True
استجابة. buffer = صحيح
ابدأ معالجة الخطأ
onerrorresumenext
٪>
<٪ 'معالجة الأخطاء
iferr.number <> 0then
قم بمسح الصفحة
استجابة
عرض رسالة الخطأ إلى المستخدم