เริ่มต้นจากส่วนนี้ฉันจะแนะนำให้คุณรู้จักสองสามชั้นทั่วไปใน ASP มันทำงานผ่านสถาปัตยกรรมสามชั้นที่ฉันออกแบบและเป็นส่วนขยายของไวยากรณ์ ASP ซึ่งสามารถปรับปรุงประสิทธิภาพของการประมวลผลรายละเอียดจำนวนมากและถือได้ว่าเป็นกรอบเล็กน้อย
ส่วนนี้แนะนำคลาสการจัดการข้อผิดพลาดชื่อคลาส con_error ซึ่งเริ่มต้นที่จุดเริ่มต้นของหน้ารหัส ชื่ออินสแตนซ์คือ e E.ADD ต่อไปนี้ใช้เพื่อใช้งานโดยใช้วัตถุอินสแตนซ์ของคลาสข้อผิดพลาด
วิธีการแนะนำ:
e.add (byval verrorMessage) บันทึกข้อผิดพลาดและตั้งค่า e.error = true เมื่อพบข้อผิดพลาดในโปรแกรมเพื่อตรวจจับความถูกต้องตามกฎหมายของชื่อผู้ใช้วิธีนี้จะถูกเรียกให้บันทึกข้อความแสดงข้อผิดพลาด
ตัวอย่างเช่นหากผู้ใช้เข้าสู่ระบบด้วยรหัสผ่านที่ไม่ถูกต้องให้โทร E.ADD ("บัญชีหรือรหัสผ่านของคุณไม่ถูกต้อง") ในเวลานี้ข้อผิดพลาดจะถูกบันทึกในวัตถุข้อผิดพลาด e และแอตทริบิวต์ e.error = จริงของวัตถุข้อผิดพลาด ในการดำเนินการครั้งต่อไปคุณลักษณะของวัตถุข้อผิดพลาดนี้สามารถใช้สำหรับการตัดสิน
ตัวอย่างเช่น:
หลังจากเกิดข้อผิดพลาดหน้าต่างเล็ก ๆ จะปรากฏขึ้นและแจ้งข้อผิดพลาดและกลับไปยังหน้าก่อนหน้า
ถ้า E.Error แล้ว
e.alert_back "โปรดเข้าสู่ระบบอีกครั้ง!" 'บทบาทของ Alert_back จะถูกนำมาใช้ในภายหลัง
สิ้นสุดถ้า
E.Alert_back (byval vMessage) ใช้ JavaScript เพื่อปรากฏขึ้นกล่องข้อความแสดงข้อผิดพลาดแสดงรายการข้อผิดพลาดปัจจุบันทั้งหมด VMessage ใน Alert_back (VMessage) จะปรากฏขึ้นในบรรทัดสุดท้ายซึ่งใช้เพื่อแจ้งให้ผู้ใช้ทำตามขั้นตอนหลังจากดูข้อความแสดงข้อผิดพลาดนี้ และกลับไปที่หน้าก่อนหน้า รหัสของวิธีนี้ถูกโพสต์และทุกคนจะเข้าใจดีขึ้น:
Public Sub Alert_back (byval vMessage)
strjSmessage = jSmessage & vMessage 'jSmessage ใช้เพื่อจัดเก็บรายการข้อผิดพลาดในวัตถุ E และแต่ละข้อผิดพลาดจะถูกคั่นด้วย /n
-
<ภาษาสคริปต์ = "JavaScript">
-
การแจ้งเตือน ("< %= 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 clear ข้อผิดพลาดข้อมูลที่บันทึกไว้ในวัตถุข้อผิดพลาด e.error = false
เนื่องจากวัตถุ E เป็นวัตถุระดับโลกจึงอาจถูกเรียกในหลายกระบวนการ เมื่อคุณต้องการนับข้อผิดพลาดในโมดูลที่แน่นอนคุณสามารถเริ่มเรียกใช้วิธีนี้เพื่อล้างข้อผิดพลาดใน e
ต่อไปนี้เป็นบรรจุภัณฑ์สำหรับการตอบสนองการเขียนวัตถุประสงค์มีไว้เพื่อความสะดวกและความเร็วในระหว่างการใช้งานเท่านั้น
E.Debug (byval vMessage) ส่งออกข้อมูลการดีบัก เมื่อโปรแกรมเสร็จสมบูรณ์จะมีการแก้ไขข้อผิดพลาดจำนวนมากเอาต์พุตข้อมูลโดยใช้ Response.write ซึ่งจะต้องถูกลบและค้นหาอย่างระมัดระวัง ใช้ E.Debug เพื่อส่งออกข้อมูลการดีบักโดยเฉพาะ เมื่อโปรแกรมเสร็จสิ้นคุณจะต้องค้นหา E.Debug เพื่อค้นหาตำแหน่งของข้อมูลข้อผิดพลาดการดีบักทั้งหมด
ข้อมูลเอาต์พุต EW (byval vMessage) มันเป็นเพียง wrapper ง่าย ๆ ของการตอบสนองเขียน การป้อน EW ในโปรแกรมนั้นไม่สะดวกกว่าการเข้าร่วมการตอบสนองการเขียนและการเขียนไม่ถูกต้องง่ายเสมอ