يمكنك التقاط رمز الوظيفة وحفظه لأخطاء تشغيل ASP. يمكن للأصدقاء الذين يحتاجون إلى الحصول على أخطاء تشغيل كود ASP الرجوع إلى اسم العملية: Catch(str)
كيفية الاستخدام:
انسخ رمز الكود كما يلي:
على خطأ استئناف المقبل
'الرمز الخاص بك، مثل الاتصال بقاعدة البيانات
التقاط المكالمة (رسالة سريعة يتم عرضها للمستخدم)
الوظيفة: مسح رسالة خطأ IIS، وتخصيص رسالة الخطأ وإعادتها إلى المستخدم، وحفظ رسالة الخطأ في ملف txt (بالطبع يمكنك أيضًا إجراء تعديلات طفيفة لإعادة التوجيه إلى صفحة مخصصة، وما إلى ذلك)
شفرة:
انسخ رمز الكود كما يلي:
<%
الخيار صريح
"المثال 1--------------------------
'يجب استخدامه مع استئناف الخطأ بعد ذلك، ولكن من الأفضل التعليق عليه قبل إصدار صفحة الويب رسميًا، حتى لا يتم رؤية تفاصيل الخطأ أثناء تصحيح الأخطاء
على خطأ استئناف المقبل
لم يتم تعريف "i" وسيحدث خطأ. استخدم الالتقاط لمسح الخطأ وحفظه في "المفكرة".
أنا
التقاط المكالمة (لا يمكن الوصول إلى الصفحة)
'---------------------------------
"المثال 2---------------------------
وظيفةكون ()
'يجب استخدامه مع استئناف الخطأ بعد ذلك
على خطأ استئناف المقبل
'.........الكود الخاص بك للاتصال بقاعدة البيانات
التقاط المكالمة (خطأ في فتح قاعدة البيانات)
وظيفة النهاية
'---------------------------------
الصيد الفرعي (شارع)
إذا كان err.number <> 0 ثم
تمب خافت، المسار
'المسار المطلق لسجل الأخطاء، مثل /error_log.txt
المسار = /table/error_log.txt
tmp = tmp & صفحة الخطأ: & geturl & vbcrlf
tmp = tmp ووقت الخطأ: & now() & vbcrlf
tmp = tmp وزيارة IP: & ip & vbcrlf
tmp = tmp & رسالة سريعة: & str & vbcrlf
tmp = tmp ورمز الخطأ: & err.number & vbcrlf
tmp = tmp & رسالة الخطأ: & err.description & vbcrlf
tmp = tmp والتطبيق: & err.source & vbcrlf & vbcrlf & vbcrlf
tmp = tmp & file_read(المسار)
استدعاء file_save(tmp,path,1)
خطأ. واضح ()
يموت (شارع)
نهاية إذا
النهاية الفرعية
'في ما يلي الوظائف التي يستخدمها الالتقاط--------------------
صدى فرعي (شارع)
استجابة.كتابة (شارع)
النهاية الفرعية
فرعي (شارع)
صدى (شارع): استجابة. نهاية ()
النهاية الفرعية
وظيفة ()
IP = request.servervariables(remote_addr)
وظيفة النهاية
"احصل على عنوان URL الحالي."
وظيفة جيتورل ()
خافت tmp
إذا lcase(request.servervariables(https)) = إيقاف ثم
تمب = http://
آخر
تمب=https://
نهاية إذا
tmp = tmp & request.servervariables(server_name)
إذا request.servervariables(server_port) <> 80 ثم
tmp = tmp &: & request.servervariables(server_port)
نهاية إذا
tmp = tmp & request.servervariables(url)
إذا تقليم (request.querystring) <> ثم
tmp = tmp & & تقليم (request.queryString)
نهاية إذا
geturl = tmp
وظيفة النهاية
'الوظيفة: قراءة محتوى الملف في السلسلة
وظيفة file_read (المسار)
خافت tmp : tmp = خطأ
إذا لم يكن file_exists(path) ثم file_read = tmp: وظيفة الخروج
الدفق الخافت: تعيين الدفق = server.CreateObject(ADODB.Stream)
مع تيار
.type = 2 'نوع النص
.mode = 3 'وضع القراءة والكتابة
مجموعة الأحرف = gb2312
.يفتح
.loadfromfile(server.MapPath(path))
تمب = .readtext()
تنتهي ب
تيار.إغلاق: تعيين الدفق = لا شيء
file_read = tmp
وظيفة النهاية
'الوظيفة: حفظ السلسلة في ملف
وظيفة file_save (شارع، مسار، نموذج)
إذا كان النموذج <>0 والنموذج <>1 فإن النموذج = 1
إذا كان النموذج = 0 و file_exists (المسار) ثم file_save = true: وظيفة الخروج
الدفق الخافت: تعيين الدفق = server.CreateObject(ADODB.Stream)
مع تيار
.type = 2 'نوع النص
مجموعة الأحرف = gb2312
.يفتح
.كتابة النص شارع
.savetofile(server.MapPath(path)),model+1
تنتهي ب
تيار.إغلاق: تعيين الدفق = لا شيء
file_save = file_exists(المسار)
وظيفة النهاية
'الوظيفة: اكتشاف ما إذا كان الملف/المجلد موجودًا أم لا
وظيفة file_exists (المسار)
خافت tmp : tmp = خطأ
خافت fso: مجموعة fso = server.CreateObject(Scripting.FilesyStemObject)
إذا كان fso.fileexists(server.MapPath(path)) فإن tmp = true
إذا كان fso.folderexists(server.MapPath(path)) فإن tmp = true
تعيين fso = لا شيء
file_exists = tmp
وظيفة النهاية
%>