عندما نكون على دراية بـ ASP ، سنجد الأمر بسيطًا للغاية ، لأن العديد من المطورين لن يفكروا في طريقة التعامل مع الأخطاء. معظم المواقع التجارية المكتوبة في ASP تتجاهل الأخطاء. لذلك دعونا نفهم كيفية التعامل مع أخطاء ASP الآن.
مقدمة موجزة
ASP بسيط للغاية بحيث لا يفكر العديد من المطورين في معالجة الأخطاء. يمكن أن يجعل التعامل الصحيح للأخطاء تطبيقك أكثر منطقية. لقد رأيت العديد من المواقع التجارية المكتوبة في ASP ، معظمها يتجاهل معالجة الأخطاء.
هناك ثلاثة أنواع أخطاء رئيسية:
خطأ التجميع:
يحدث هذا النوع من الخطأ بشكل عام بسبب مشكلة بناء جملة الشفرة.
توقف ASP عن التشغيل بسبب خطأ في التجميع.
تشغيل خطأ
يحدث هذا الخطأ عندما تكون مستعدًا لتشغيل ASP.
على سبيل المثال: إذا حاولت تعيين قيمة لمتغير ، ولكنها تتجاوز النطاق المسموح به من قبل المتغير.
خطأ منطقي
الأخطاء المنطقية هي الأكثر صعوبة في اكتشافها. غالبًا ما يكون هذا النوع من الخطأ خطأ هيكليًا لا يمكن اكتشافه بواسطة الكمبيوتر.
هذا يتطلب منا التحقق بدقة الكود الخاص بنا.
نظرًا لأن أخطاء التجميع تحدث عادةً مع أخطاء منطقية ويمكن عرضها بشكل عام ، فإن ما نشعر بالقلق هو خطأ العملية. كل ذلك ينهي تشغيل ASP ويترك حفنة من النص غير الودي للغاية للمستخدم.
فكيف نتعامل مع أخطاء العملية! ؟ دعنا أولاً نلقي نظرة على أمر الخطأ الوحيد الذي قدمته لنا ASP - عند استئناف الخطأ بعد ذلك (أود أن أذكر المبتدئين بأن هناك فقط خطأ في استئناف العبارات التالية في ASP ، ولا توجد بيانات GOTO لاستئناف الخطأ). إذا لم تستخدم في استئناف الأخطاء ، فسيحدث جميع أخطاء العملية. هذا أمر قاتل ، ثم سيتم "عرض رمز الخطأ" للمستخدم ، وسيتوقف برنامج ASP أيضًا.
هنا رمز خطأ:
Microsoft Ole DB Provider لـ ODBC Drivers Error 80004005
[Microsoft] [ODBC Driver Manager] اسم مصدر البيانات غير موجود ولا يوجد برنامج تشغيل افتراضي
/test.asp ، الخط 60
عندما نستخدم البيان التالي على السيرة الذاتية في الجزء العلوي من البرنامج ، سيتم تجاهل جميع الأخطاء وسيقوم البرنامج تلقائيًا بتنفيذ البيان التالي. وبهذه الطريقة ، سيتم تنفيذ البرنامج بالكامل ، ولن يرى المستخدم رسالة الخطأ بعد حدوث خطأ. ولكن هناك أيضًا عيوب بهذه الطريقة ، أي إذا لم يتم تنفيذ البرنامج كما تتخيل ، فسيكون من الصعب عليك معرفة الخطأ ، لذلك عليك التعامل مع الأخطاء عند الضرورة.
التعامل مع الأخطاء
في ASP ، فإن أفضل طريقة للتعامل مع الأخطاء هي وضع الرمز في أسفل البرنامج للتعامل مع الأخطاء. أوصي أيضًا باستخدام المخازن المؤقتة في كل برنامج ASP. وبهذه الطريقة ، في حالة حدوث خطأ ، ستتوقف الصفحة وسيتم مسح محتوى الصفحة ، بحيث لن يرى المستخدم رسالة الخطأ وسيكون هناك شكاوى أقل عنك! هنا مثال:
<٪@ language = "vbscript" ٪>
<٪ 'مجموعة مخزن المؤقت إلى True
استجابة. buffer = صحيح
ابدأ معالجة الخطأ
عند استئناف الخطأ التالي
٪>
<٪ 'معالجة الأخطاء
إذا err.number <> 0 ثم
قم بمسح الصفحة
استجابة
عرض رسالة الخطأ إلى المستخدم
٪>
<html>
<head>
<title> </title>
</head>
<body bgcolor = "#c0c0c0">
<font face = "arial"> حدث خطأ في تنفيذ صفحة ASP هذه <br>
يرجى الإبلاغ عن المعلومات التالية إلى مكتب الدعم <p>
<b> كائن خطأ الصفحة </b> <br>
رقم الخطأ: <٪ = err.number ٪> <br>
رسالة الخطأ: <٪ = err.description ٪> <br>
ملف الخطأ: <٪ = err.source ٪> <br>
خط الخطأ: <٪ = err.line ٪> <br>
</font>
</body>
</html>
<٪ نهاية إذا ٪>
كما ترون أعلاه ، قمت أولاً بتعيين خاطئ السيرة الذاتية بعد ذلك ، حتى لا يؤثر خطأ على تنفيذ البرنامج.
معالجة الأخطاء وقاعدة البيانات
إن تنفيذ إضافة قواعد البيانات إلى معالجة الأخطاء معقد للغاية. إذا كان لدينا برنامج به العديد من الأوامر لإضافة سجلات إلى قاعدة البيانات ، إذا تم تنفيذ إدراج/تحديث في أسفل البرنامج ، إذا حدث خطأنا من قبل ، فستكون قد انتهى! سنضيف رسالة خطأ إلى قاعدة البيانات. لأننا استخدمنا في استئناف الخطأ بعد ذلك ، تم تجاهل جميع الأخطاء! حتى إذا كان هناك خطأ من قبل ، فسيظل البرنامج يضيف بيانات إلى قاعدة البيانات.
لتجنب هذا الموقف ، علينا أن نفعل بعض الحيل أولاً. الطريقة الصحيحة للتعامل معها هي كما يلي:
إذا err.number = 0 و objconnection.errors.count = 0 ثم
لا يمكن تنفيذ البيان إلا لأنه لا توجد أخطاء
تعيين rstresults = dbdata.execute (txtsql)
إنهاء إذا
حلول أكثر تقدما
عند حدوث خطأ ، يمكنك أيضًا عرض المزيد من رسائل الخطأ. فيما يلي مثال على التعامل مع كل من أخطاء قاعدة البيانات والصفحة. مع ذلك ، يمكننا اكتشاف جميع الأخطاء في برنامجنا في وقت واحد. (بما أنني أعتقد أن اللغة الإنجليزية أكثر صعوبة في التحدث في بعض الأماكن ، فلا توجد ترجمة).
<٪
إذا err.number <> 0 ثم
استجابة
حدد CASE ERR.Number
الحالة 8 'حدد الرقم الخطأ
"استكشاف الأخطاء المخصصة لإصلاحها هنا
خطأ آخر 'خطأ عام
إذا isObject (objConnection) ثم
إذا objconnection.errors.count> 0 ثم
٪>
<b> كائن اتصال قاعدة البيانات </b>
<٪ للترابط = 0 إلى objconnection.errors.count - 1 ٪>
خطأ رقم: <٪ = objConnection.errors (inloop) .number ٪> <br>
الوصف: <٪ = objConnection.errors (inloop) .Description ٪> <br>
المصدر: <٪ = objConnection.errors (inloop) .Source ٪> <br>
SQLSTATE: <٪ = objConnection.ERRORS (inloop) .SQLSTATE ٪> <BR>
Nativeerror: <٪ = objconnection.errors (inloop) .Nativeerror ٪> <p>
<٪ التالي
إنهاء إذا
إنهاء إذا
إذا err.number <> 0 ثم
٪>
<b> كائن خطأ الصفحة </b> <br>
رقم الخطأ <٪ = err.number ٪> <br>
وصف الخطأ <٪ = err.description ٪> <br>
المصدر <٪ = err.source ٪> <br>
الكتان <٪ = err.line ٪> <p>
<٪ نهاية إذا
نهاية الاختيار
إنهاء إذا
٪>
يسمح لنا المثال أعلاه بالتعامل مع العديد من المشكلات التي تحدث في قاعدة البيانات ، والتي تُستخدم أيضًا بشكل شائع في برامجنا اليومية! يجب أن نرى أيضًا عبارة CASE SELECT ، والتي تتيح لنا التعامل مع أخطاء محددة.
إعادة التوجيه والتعامل مع الأخطاء
شيء واحد يجب أن نولي اهتمامًا إليه هو الكائن المعاد توجيهًا الذي نستخدمه غالبًا. إذا ظهر كائن إعادة توجيه في صفحة ، فإن معالجة الخطأ ستفقد معناها. لذلك علينا أن نتعامل معها قبل الدوران ، على النحو التالي:
إذا err.number = 0 و objconnection.errors.count = 0 ثم
استجابة
الرد. REREDIRECT؟ lt ؛ url هنا>؟
إنهاء إذا
اجعل الرمز أكثر أنيقًا
لجعل الكود أكثر أناقة ، أولاً ، الملف الذي يتم التعامل معه في الملف أولاً في ملف يحتوي على. بهذه الطريقة يمكنك استخدامه في أي ملف. هذا هو أيضا مريحة لتعديل.
أضف ON ERRREW استئناف البيان التالي في الجزء العلوي من البرنامج (بعد إعلان اللغة بالطبع).
قم بفحص الخطأ قبل تنفيذ SQL.
كان معالجة الخطأ مطلوبة أيضًا قبل استخدام إعادة التوجيه.
تتيح لك التعامل مع الأخطاء التي تحتوي على ملفات في الجزء العلوي من الرمز
هذه هي نهاية محتوى طريقة معالجة أخطاء ASP. آمل أن يكون محتوى هذه المقالة من بعض المساعدة في دراسة أو عمل الجميع.