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