บทความนี้ส่วนใหญ่แนะนำวัตถุข้อผิดพลาดของ ASP
ใน VBScript มีข้อผิดพลาดในการดำเนินการต่อคำสั่งถัดไปที่ทำให้สคริปต์ล่ามเพื่อละเว้นข้อผิดพลาดรันไทม์และดำเนินการต่อของรหัสสคริปต์ต่อไป จากนั้นสคริปต์สามารถตรวจสอบค่าของคุณสมบัติ err.number เพื่อตรวจสอบว่าเกิดข้อผิดพลาดหรือไม่ หากเกิดข้อผิดพลาดค่าที่ไม่เป็นศูนย์จะถูกส่งคืน ใน Asp3.0 คุณสามารถใช้ OnerRorGoto0 เพื่อกลับไปที่การจัดการข้อผิดพลาดเริ่มต้น การประมวลผลประเภทนี้ดำเนินการจริงใน ASP2.0 แต่ไม่มีคำอธิบายเอกสารที่สอดคล้องกันซึ่งเป็นเรื่องธรรมดาในไฟล์การประมวลผลที่เกี่ยวข้องกับข้อมูล ASP จำนวนมาก
- Iferrthen
- err.lear
- มีข้อผิดพลาดในการตอบสนองเขียน!
- Response.end
- endif
เพื่อให้ได้คำอธิบายข้อผิดพลาดโดยละเอียดมากขึ้นลองใช้วัตถุ Asperror และวัตถุ ERR ของ VBScript นั้นแตกต่างกันไป หากการจัดการข้อผิดพลาดเริ่มต้นถูกปิด (โดยใช้คำสั่ง ON ERROR RESUME NEXT) เช่นวัตถุ ERR วิธีการ GetLasterRor ไม่สามารถเข้าถึงข้อมูลรายละเอียดข้อผิดพลาดได้
คุณสมบัติของวัตถุ Asperror:
วัตถุ Asperror ให้คุณลักษณะเก้าอย่างเพื่อระบุลักษณะและแหล่งที่มาของข้อผิดพลาดที่เกิดขึ้นและส่งคืนรหัสจริงที่ทำให้เกิดข้อผิดพลาด
Aspcode: จำนวนเต็ม หมายเลขข้อผิดพลาดที่สร้างโดย ASP/IIS เช่น 0x800A009
Aspdescription: ประเภทสตริง หากข้อผิดพลาดนี้เป็นข้อผิดพลาดที่เกี่ยวข้องกับ ASP คุณสมบัตินี้เป็นคำอธิบายโดยละเอียดของข้อผิดพลาด 0; Windowsnt5 .0; (R11.5)) .. นอกจากนี้ยังมีรายงานเช่นคุกกี้
หมวดหมู่: ประเภทสตริง แหล่งที่มาของข้อผิดพลาดคือภาษาสคริปต์ภายใน ASP หรือวัตถุ
คอลัมน์: จำนวนเต็ม ตำแหน่งอักขระในไฟล์ที่สร้างข้อผิดพลาด
คำอธิบาย: ประเภทสตริง คำอธิบายสั้น ๆ ของข้อผิดพลาด
ไฟล์: ประเภทสตริง ชื่อของไฟล์ที่ถูกประมวลผลเมื่อเกิดข้อผิดพลาด
บรรทัด: จำนวนเต็ม หมายเลขบรรทัดในไฟล์ที่สร้างข้อผิดพลาด
หมายเลข: จำนวนเต็ม รหัสข้อผิดพลาด com มาตรฐาน
ที่มา: ประเภทสตริง รหัสจริงของบรรทัดที่ทำให้เกิดข้อผิดพลาด
ตกลงนี่คือ 9 คุณสมบัติ
asperror.property
นั่นคืออะไร:
asperror.aspcode ()
asperror.aspdescription ()
Asperror.category ()
asperror.column ()
asperror.description ()
asperror.file ()
asperror.line ()
asperror.number ()
asperror.source ()
เมื่อข้อผิดพลาดที่เกี่ยวข้องกับ ASP เกิดขึ้นในหน้าใด ๆ ภายใต้ไดเรกทอรีทั้งหมดที่สนับสนุนโดย IIS (หรือในไดเรกทอรีที่มีการแก้ไขคุณสมบัติการแมปข้อผิดพลาด) หน้าข้อผิดพลาดที่กำหนดเองจะถูกโหลด ในความเป็นจริงมีการตั้งค่ากับดักข้อผิดพลาดของสคริปต์ปกติแล้วเนื่องจากข้อผิดพลาดของ ASP Runtime บนหน้าเว็บใด ๆ ในไดเรกทอรีนี้จะทริกเกอร์หน้าข้อผิดพลาดที่กำหนดเอง การปรับแต่ง เอกสารปัจจุบัน URL ของวัตถุเอกสาร (ดึงมาจากคุณสมบัติ URL ของวัตถุเอกสาร) และจะแสดงในหน้า:
- <! doctypehtmlpublic-// w3c // dtdhtml3.2final // en>
- <htmldir = ltr>
- <head>
- <style> a: ลิงก์ {ตัวอักษร: 9pt/11pt 安安; สี: ff0000} a: เยี่ยมชม {ตัวอักษร: 9pt/11pt 安安安安; สี:#4E4E4E}
- </style>
- <metaname = RobotsContent = noindex>
- <title> ไม่สามารถค้นหาเว็บเพจ </title> ได้
- <metahttp-equiv = content-typecontent = text-html; charset = gb2312>
- <metaname = ms.localecontent = en-cn>
- </head>
- <script>
- functionhomepage () {
- -
- // inrealbits, urlsgetReturnedtoourscriptlikethis:
- //res://shdocvw.dll/http_404.htm#http://www.docurl.com/bar.htm
- //fortestingusedocurl=res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm
- docurl = document.url;
- // thisiswherethehttporhttpswillbe, asfoundbysearchingfor: // butskippingtheres: //
- ProtocolIndex = docurl.indexof (: //, 4);
- // thisfindstheendingslashforthedomanserver
- ServerIndex = docurl.indexof (/, ProtocolIndex+3);
- //forthehref,weneedavalidurltothedomain.wesearchforthe#symboltofindthebegining
- //oftheTrueurl,andadd1toskipit-thisistthebeginurlvalue.weuseserverindexasttheEndmarker
- //URLRESULT=DOCURL.SUBSTRING(PROTOCOLINDEX-4, SERVERINDEX);
- beartUrl = docurl.indexof (#, 1) +1;
- urlresult = docurl.substring (engerurl, serverindex);
- // Fordisplay, Weneedtoskipafterhttp: //, Andgotothenextslash
- displayResult = docurl.substring (ProtocolIndex+3, ServerIndex);
- insertElementAnchor (urlresult, displayResult);
- -
- functionhtmlencode (ข้อความ)
- -
- returnText.replace (/&/g, '&'). แทนที่ (/'/g,' ') แทนที่ (/</g,' <') แทนที่ (// g,'> ');
- -
- FunctionTagattrib (ชื่อ, ค่า)
- -
- return ''+name+'='+htmlencode (value)+'';
- -
- functionprinttag (tagname, needclosetag, attrib, ด้านใน) {
- document.write ('<'+tagname+attrib+'>'+htmlencode (ภายใน));
- if (needclosetag) document.write ('</'+tagname+'>');
- -
- functionuri (href)
- -
- iever = window.navigator.Appversion;
- iever = iever.substr (iever.indexof ('msie')+5,3);
- return (iever.charat (1) == '.' && iever> = '5.5')?
- encodeuri (href):
- Escape (href). แทนที่ (/%3a/g, ':'). แทนที่ (/%3b/g, ';');
- -
- FunctionInserTelementAnchor (href, text)
- -
- printtag ('a', true, tagattrib ('href', uri (href)), ข้อความ);
- -
- -
- </script>
- <bodybgColor = ffffff>
- <TableWidth = 410CellPadding = 3CellPacing = 5>
- <tr>
- <tdalign = leftValign = MiddleWidth = 360>
- <h1style = color: 000000; แบบอักษร: 12pt/15pt 安安> <!-ปัญหา-> หน้าเว็บไม่สามารถพบได้ </h1>
- </td>
- </tr>
- <tr>
- <tdwidth = 400ColSpan = 2> <fontstyle = color: 000000; ตัวอักษร: 9pt/11pt 安安> หน้าเว็บที่คุณกำลังค้นหาอาจถูกลบเปลี่ยนชื่อหรือไม่สามารถใช้งานได้ชั่วคราว </font> </td>
- </tr>
- <tr>
- <tdwidth = 400ColSpan = 2> <fontstyle = color: 000000; ตัวอักษร: 9pt/11pt 安安>
- <hrColor =#c0c0c0noshade>
- <p> โปรดลองสิ่งต่อไปนี้: </p>
- <ul>
- <li> หากคุณพิมพ์ที่อยู่เว็บในแถบที่อยู่ให้ตรวจสอบว่ามีการสะกดอย่างถูกต้อง <br>
- </li>
- <li> เปิด <Script>
- -
- if (! ((((window.navigator.useragent.indexof (msie)> 0) && (window.navigator.appversion.charat (0) == 2)))
- -
- หน้าแรก ();
- -
- -
- </script> หน้าแรกค้นหาลิงก์ไปยังข้อมูลที่ต้องการ </li>
- <li> คลิกที่ <ahref = JavaScript: History.back (1)> ปุ่มย้อนกลับ </a> เพื่อลองใช้ลิงค์อื่น ๆ </li>
- </ul>
- <H2Style = FONT: 9PT/11PT 安安; สี: 000000> HTTP404-FILE ไม่สามารถพบได้ <br> บริการข้อมูลอินเทอร์เน็ต <br> </h2>
- <hrColor =#c0c0c0noshade>
- <p> ข้อมูลทางเทคนิค (สนับสนุนบุคคล) </p>
- <ul>
- <li> รายละเอียด: <br> <ahref = http: //www.microsoft.com/contentedirect.asp? target = _blank> microsoft สนับสนุน </a>
- </li>
- </ul>
- </font> </td>
- </tr>
- </table>
- </body>
- </html>
ข้างต้นเป็นการวิเคราะห์สั้น ๆ ของวัตถุข้อผิดพลาด ASP และฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคน