رأيت بعض الأصدقاء يقولون إن الفصل السابق غير ضروري، وهذا صحيح عندما أفكر فيه، لم أكن أنوي في الأصل التحدث عن هذه الأساسيات، ولكن لم تكن هناك قيود على الكتابة، لذلك انتقلت للتو إلى الأساسيات. بدءًا من هذا القسم، سأقدم بعضًا من الفئات العامة الثلاثة الرئيسية في ASP، وهي تعمل من خلال البنية ثلاثية الطبقات التي صممتها، وهي امتداد لبناء جملة ASP ويمكنها تحسين كفاءة معالجة العديد من التفاصيل يمكن اعتبارها بمثابة إطار عمل صغير.
يقدم هذا القسم فئة معالجة الأخطاء. اسم الفئة هو Con_Error، ويتم تهيئته في بداية صفحة التعليمات البرمجية. يستخدم e.add التالي الكائن الذي تم إنشاء مثيل له من فئة الخطأ.
مقدمة الطريقة:
يسجل e.Add(ByVal vErrorMessage) خطأ ويحدد e.Error = true. عندما يتم العثور على خطأ عندما يتحقق البرنامج من صحة اسم المستخدم، وما إلى ذلك، يتم استدعاء هذه الطريقة ويتم تسجيل رسالة خطأ.
على سبيل المثال، إذا كان لدى المستخدم كلمة مرور غير صحيحة عند تسجيل الدخول، فاتصل بـ e.add (حسابك أو كلمة مرورك غير صحيحة). في هذا الوقت، يتم تسجيل خطأ في كائن الخطأ e، وسمة كائن الخطأ e. خطأ = صحيح، في العمليات اللاحقة، يمكنك استخدام هذه الخاصية لكائن الخطأ لإصدار حكم.
على سبيل المثال:
عند حدوث خطأ، ستظهر نافذة صغيرة للمطالبة بالخطأ والعودة إلى الصفحة السابقة.
إذا حدث خطأ بعد ذلك
e.Alert_Back برجاء تسجيل الدخول مرة أخرى 'سيتم تقديم وظيفة Alert_Back لاحقًا.
نهاية إذا
يستخدم e.Alert_Back(ByVal vMessage) Javascript لينبثق مربع مطالبة بالخطأ ويعرض قائمة بجميع الأخطاء الحالية ويتم عرض vMessage في Alert_Back(vMessage) في السطر الأخير لمطالبة المستخدم بالخطوات التي يجب اتخاذها بعد رؤية هذا. رسالة الخطأ والعودة إلى الصفحة السابقة انشر رمز هذه الطريقة حتى يتمكن الجميع من فهمها بشكل أفضل:
Alert_Back العام الفرعي (ByVal vMessage)
strJSMessage = JSMessage & vMessage 'يتم استخدام JSMessage لتخزين قائمة الأخطاء في الكائن الإلكتروني، ويتم فصل كل خطأ بواسطة /n.
%>
<لغة البرنامج النصي=جافا سكريبت>
<!--//
تنبيه (<%=strJSMessage %>)؛ 'يظهر مربع خطأ.
History.back(); "العودة إلى الصفحة السابقة."
//-->
</script>
<%
Response.end 'لاحظ أنه يجب إيقاف الإخراج هنا لتجنب الأخطاء أثناء استمرار البرنامج في التنفيذ.
نهاية الفرعية
يمتد أسلوب e.Alert_Back إلى عدة طرق ذات تأثيرات مشابهة، والتي تم تقديمها أدناه، يرجى الاطلاع على الكود المصدري المرفق لعملية التنفيذ:
e.Alert(ByVal vMessage) ينبثق فقط مربع مطالبة بالخطأ، ولا يعود إلى الصفحة السابقة، ولا يوقف تنفيذ البرنامج.
ينبثق e.Alert_Close(ByVal vMessage) مربع مطالبة بالخطأ عندما ينقر المستخدم على "موافق"، أغلق النافذة الحالية.
ينبثق e.OK_Go(ByVal vMessage,ByVal vURL) مربع مطالبة بالرسالة. عندما ينقر المستخدم على "موافق"، فإنه ينتقل إلى صفحة vURL.
e.Go(ByVal vURL) انتقل مباشرة إلى صفحة vURL
يجب أن يكون الجميع على دراية بوظائف الطرق المذكورة أعلاه، ولكنها في الواقع لا تقتصر على معالجة الأخطاء.
يقوم e.Clear بمسح معلومات الخطأ المسجلة في كائن الخطأ، e.Error = false
نظرًا لأن الكائن e كائن عالمي، فقد يتم استدعاؤه في العديد من العمليات. عندما تحتاج فقط إلى حساب الأخطاء في وحدة معينة، يمكنك استدعاء هذه الطريقة في البداية لمسح الأخطاء في e.
فيما يلي حزم Response.Write، فقط من أجل الراحة وسرعة الاستخدام.
يقوم e.Debug(ByVal vMessage) بإخراج معلومات تصحيح الأخطاء. عند اكتمال البرنامج، سيكون هناك الكثير من الأخطاء في إخراج معلومات تصحيح الأخطاء باستخدام Response.write. ويجب عليك حذفها جميعًا والبحث عنها بعناية إخراج معلومات تصحيح الأخطاء، عند اكتمال البرنامج، ما عليك سوى البحث عن e.Debug للعثور على موقع جميع معلومات خطأ التصحيح.
يقوم ew (ByVal vMessage) بإخراج المعلومات، وهو مجرد غلاف بسيط لـ Response.write، ومن غير المعروف مدى ملاءمة إدخال ew في البرنامج بدلاً من إدخال Response.write، ومن السهل دائمًا ارتكاب الأخطاء. .
يقوم e.BR بإخراج حرف سطر جديد، وهو ما يعادل الاستجابة. اكتب <BR />
الأربع التالية عبارة عن حزم لـ Response.End وهي مجرد عدة طرق لها نفس الوظائف المحددة وفقًا لعادات التشغيل:
e.Pause == Response.End
eP==Response.End
e.Stop == Response.End
e.End == Response.End
هناك أيضًا سمة e.Message، والتي تقوم بإخراج قائمة بجميع الأخطاء في الكائن الإلكتروني.
يرجى الاطلاع على الكود للحصول على تفاصيل التنفيذ المحددة.
انسخ رمز الكود كما يلي:
ClassCon_Error
PrivateblnError
رسالة خاصة
رسالة strJS الخاصة
فئة فرعية خاصة_initialize()
خطأ blnError = خطأ
رسالة قصيرة =
نهاية الفرعية
فئة فرعية خاصة_Terminate()
نهاية الفرعية
" ====================================================================================================== ===========================================================================
' ملكية
" ====================================================================================================== ===========================================================================
'رسالة:
رسالة السماح للملكية العامة (قيمة ByVal)
strMessage = value
نهاية الملكية
الملكية العامة احصل على الرسالة()
الرسالة = strMessage
نهاية الملكية
"رقم الخطأ."
الملكية العامة GetError()
خطأ = blnError
نهاية الملكية
'JSMessage: تظهر في صندوق الرسائل
الملكية الخاصة GetJSMessage()
strJSMessage = استبدال(strMessage, <br>, /n)
strJSMessage = استبدال (strJSMessage، vbCrLf،)
JSMessage = strJSMessage
نهاية الملكية
" ====================================================================================================== ===========================================================================
'طريقة
" ====================================================================================================== ===========================================================================
'إضافة: إضافة رسالة خطأ
إضافة فرعية عامة (ByVal vMessage)
خطأ bln = صحيح
strMessage = strMessage & vMessage & <br>
نهاية الفرعية
مسح فرعي عام
خطأ blnError = خطأ
رسالة قصيرة =
نهاية الفرعية
'يُحذًِر
تنبيه فرعي عام (ByVal vMessage)
strJSMessage = JSMessage & vMessage
%>
<لغة البرنامج النصي=جافا سكريبت>
<!--//
تنبيه(<%=strJSMessage %>);
//-->
</script>
<%
نهاية الفرعية
'Alert_Back: التنبيه والعودة
Alert_Back العام الفرعي (ByVal vMessage)
strJSMessage = JSMessage & vMessage
%>
<لغة البرنامج النصي=جافا سكريبت>
<!--//
تنبيه(<%=strJSMessage %>);
History.back();
//-->
</script>
<%
Response.end
نهاية الفرعية
'Alert_Close: تنبيه وإغلاق
Alert_Close العام الفرعي (ByVal vMessage)
strJSMessage = JSMessage & vMessage
%>
<لغة البرنامج النصي=جافا سكريبت>
<!--//
تنبيه(<%=strJSMessage %>);
window.opener = null;
window.Close();
//-->
</script>
<%
Response.end
نهاية الفرعية
'******************************************************************************************************************************************************************************
'Debug: Response.write، استخدمه لحذف رسالة تصحيح الأخطاء بسهولة، ما عليك سوى البحث في e.Debug من الملفات
'******************************************************************************************************************************************************************************
OK_Go الفرعي العام (ByVal vMessage، ByVal vURL)
strJSMessage = JSMessage & vMessage
%>
<لغة البرنامج النصي=جافا سكريبت>
<!--//
تنبيه(<%=strJSMessage %>);
location.href = '<%=vURL %>';
//-->
</script>
<%
Response.end
نهاية الفرعية
الذهاب الفرعي العام (ByVal vURL)
استجابة. إعادة توجيه vURL
Response.end
نهاية الفرعية
'******************************************************************************************************************************************************************************
'Debug: Response.write، استخدمه لحذف رسالة تصحيح الأخطاء بسهولة، ما عليك سوى البحث في e.Debug من الملفات
'******************************************************************************************************************************************************************************
التصحيح الفرعي العام (ByVal vMessage)
استجابة.اكتب vMessage
استجابة. فلوش
نهاية الفرعية
'****** ث: اكتب
العامة الفرعية W (ByVal vMessage)
استجابة.اكتب vMessage
نهاية الفرعية
'****** BR: اكتب <br>
فرع فرعي عام
استجابة.اكتب <BR />
نهاية الفرعية
'******************************************************************************************************************************************************************************
'إيقاف مؤقت: Response.end، ضع علامة على معلومات التصحيح بوضوح
'******************************************************************************************************************************************************************************
وقفة فرعية عامة
Response.end
نهاية الفرعية
العامة الفرعية ص
Response.end
نهاية الفرعية
الفرعية العامة [إيقاف]
Response.end
نهاية الفرعية
فرعي عام [النهاية]
Response.end
نهاية الفرعية
نهاية الفصل