ASP程序調(diào)試與錯誤處理_第1頁
ASP程序調(diào)試與錯誤處理_第2頁
ASP程序調(diào)試與錯誤處理_第3頁
ASP程序調(diào)試與錯誤處理_第4頁
ASP程序調(diào)試與錯誤處理_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Microsoft腳本調(diào)試器ASP錯誤及錯誤類型

本章要點12.1

Microsoft腳本調(diào)試器Microsoft公司提供了一種強大的腳本調(diào)試器,就是名稱為MicrosofScriptDebugger的一個工具軟件,它是一個完全免費的工具。如果你安裝了Win2000,那么你就可以在【開始】|【程序|【附件】中找到它,因為它被作為一個安裝組件包含在Win2000安裝程序中。

在開始調(diào)試服務(wù)器端腳本之前,您必須首先配置Web服務(wù)器,使其支持ASP調(diào)試。12.1

Microsoft腳本調(diào)試器首先打開【IIS管理器】,然后選擇相應(yīng)站點得屬性,切換到【主目錄】標(biāo)簽頁,如圖。12.1

Microsoft腳本調(diào)試器點擊其上得【配置】按鈕,打開【應(yīng)用程序配置】對話框,選擇其上得【應(yīng)用程序調(diào)試】標(biāo)簽頁:12.1

Microsoft腳本調(diào)試器接下來,運行一個有錯誤得代碼,MicrosofScriptDebugger將自動運行,自動裝載出錯誤得網(wǎng)頁,并指明錯誤

12.1

Microsoft腳本調(diào)試器12.2ASP錯誤及錯誤類型

在VBScript中,可以通過使用OnErrorResumeNext語句使腳本解釋器不處理其找到的任何錯誤,而繼續(xù)運行下個語句。一旦這個語句已被處理,腳本引擎將繼續(xù)運行后面的程序,而不理會已經(jīng)發(fā)現(xiàn)的任何錯誤。

在VBScript中,解釋器對大多數(shù)的錯誤都進行了編號,如果能得到現(xiàn)在產(chǎn)生錯誤的編號,那么就能夠獲得當(dāng)前錯誤得類型,并做出相應(yīng)的處理。要獲得錯誤編號,可以通過ERR對象的Number屬性來得到。錯誤產(chǎn)生時,都會產(chǎn)生一個ERR對象,并且這個ERR對象的Number屬性將存儲這個錯誤的編號。如果返回值為0,則表示無錯誤產(chǎn)生。12.2ASP錯誤及錯誤類型

Err對象的方法:clear:清除當(dāng)前所有得ERR對象設(shè)置;raise:產(chǎn)生一個運行期錯誤。屬性:description:表示一個描述錯誤得字符串;number:表示一個錯誤得編號;source:表示產(chǎn)生錯誤對象的名稱。12.2ASP錯誤及錯誤類型

語法錯誤通常產(chǎn)生在應(yīng)用程序的編譯階段,如果VBScript語句結(jié)構(gòu)違反了一個或多個VBScript腳本語言語法規(guī)則,就會產(chǎn)生VBScript語法錯誤。VBScript語法錯誤VBScript語法錯誤編號描述說明編號描述說明800A03EA語法錯誤800A0404需要'While,'、'Until,'或語句未結(jié)束800A03EB缺少“:”800A0405需要'With'800A03ED需要'('800A0406標(biāo)識符太長800A03EE需要')'800A0407無效的數(shù)800A03EF缺少“]”800A0408無效的字符800A03F2需要標(biāo)識符800A0409未結(jié)束的串常量800A03F3需要'='800A040A未結(jié)束的注釋800A03F4需要'If'800A040D無效使用關(guān)鍵字'Me'VBScript語法錯誤800A03F5需要'To'800A040E'loop'沒有'do'800A03F6需要'End'800A040F無效'exit'語句800A03F7需要'Function'800A0410無效'for'循環(huán)控制變量800A03F8需要'Sub'800A0411名稱重定義800A03F9需要'Then'800A0412必須為行的第一個語句800A03FA需要'Wend'800A0413不能賦給非Byval參數(shù)800A03FB需要'Loop'800A0414調(diào)用Sub時不能使用圓括號800A03FC需要'Next'800A0415需要文字常數(shù)800A03FD需要'Case'800A0416需要'In'800A03FE需要'Select'800A0417需要'Class'VBScript語法錯誤800A03FF需要表達式800A0418必須在一個類的內(nèi)部定義800A0400需要語句800A0419在屬性聲明中需要Let,Set或Get800A0401需要語句的結(jié)束800A041A需要'Property'800A0402需要整數(shù)常數(shù)800A041B參數(shù)數(shù)目必須與屬性說明一致800A0403需要'While'或'Until'VBScript運行時錯誤

如果VBScript腳本執(zhí)行系統(tǒng)無法實施的操作,則會產(chǎn)生VBScript運行時錯誤。

VBScript運行時錯誤

錯誤(十進制)錯誤(十六進制)描述說明5800A0005無效過程調(diào)用或參數(shù)6800A0006溢出7800A0007內(nèi)存不足9800A0009下標(biāo)越界10800A000A該數(shù)組為定長的或臨時被鎖定11800A000B被零除13800A000D類型不匹配14800A000E字符串空間溢出VBScript運行時錯誤

17800A0011無法執(zhí)行請求的操作28800A001C堆棧溢出35800A0023未定義Sub或Function48800A0030加載DLL錯誤51800A0033內(nèi)部錯誤52800A0034壞文件名或數(shù)53800A0035文件未找到VBScript運行時錯誤

54800A0036壞文件模式55800A0037文件已經(jīng)打開57800A0039設(shè)備I/O錯誤58800A003A文件已經(jīng)存在61800A003D磁盤空間已滿62800A003E輸入超出文件尾67800A0043文件太多68800A0044設(shè)備不可用70800A0046權(quán)限禁用71800A0047磁盤未準(zhǔn)備好VBScript運行時錯誤

74800A004A不能用不同的驅(qū)動器重新命名75800A004B路徑/文件訪問錯誤76800A004C路徑未找到91800A005B未設(shè)置對象變量92800A005CFor循環(huán)未初始化94800A005E非法使用Null322800A0142不能建立所需臨時文件424800A01A8需要對象429800A01ADActiveX部件無法創(chuàng)建對象430800A01AE類不支持自動化VBScript運行時錯誤

432800A01B0在自動化操作中未找到文件名或類名438800A01B6對象不支持該屬性或方法440800A01B8Automation錯誤445800A01BD對象不支持此操作446800A01BE對象不支持指定的參數(shù)447800A01BF對象不支持當(dāng)前的區(qū)域設(shè)置448800A01C0未找到命名參數(shù)VBScript運行時錯誤

449800A01C1參數(shù)不可選450800A01C2錯誤的參數(shù)個數(shù)或無效的參數(shù)屬性值451800A01C3對象不是一個集合453800A01C5指定的dll函數(shù)未找到455800A01C7代碼源鎖錯誤457800A01C9這個鍵已經(jīng)是本集合的一個元素關(guān)聯(lián)458800A01CA變量使用了一個VBScript中不支持的自動化(Automation)類型462800A01CE遠(yuǎn)程服務(wù)器不存在或不能訪問481800A01E1無效圖片500800A01F4變量未定義VBScript運行時錯誤

501800A01F5違法的分配502800A01F6腳本對象不安全503800A01F7對象不能安全初始化504800A01F8對象不能安全創(chuàng)建505800A01F9無效的或不合格的引用506800A01FA類未被定義507800A01FB發(fā)生異常5016800A1398需要正則表達式對象5017800A1399正則表達式中的語法錯誤5018800A139A錯誤的數(shù)量詞5019800A139B在正則表達式中需要']'VBScript運行時錯誤

5020800A139C在正則表達式中需要')'5021800A139D字符集越界32811800A802B元素未找到VBScript運行時錯誤

語句a=a/0來故意產(chǎn)生一個除0錯誤<%dimaa=0Response.Buffer=TrueOnErrorResumeNextifa=0thena=a/0endifIfErr.Number<>0Then%><HTML><HEAD><TITLE></TITLE></HEAD><BODYBGCOLOR="#C0C0C0"><FONTFACE="ARIAL"><P><B>PageErrorObject</B><BR>錯誤Number:<%=Err.Number%><BR>錯誤信息:<%=Err.Description%><BR>出錯文件:<%=Err.Source%><BR><%iferr.number=6then%>這個錯誤是因為除0產(chǎn)生的溢出!<%endif%><%EndIf%></FONT></BODY></HTML>VBScript運行時錯誤

VBScript運行時錯誤

語句a=a/0來故意產(chǎn)生一個除0錯誤ADO錯誤ADO錯誤產(chǎn)生在訪問利用ADO對象訪問數(shù)據(jù)庫時,如果服務(wù)器管理程序不能夠完成ADO對象請求得操作時產(chǎn)生ADO錯誤錯誤(十進制)錯誤(十六進制)描述30010x800A0BB9應(yīng)用程序使用的參數(shù)其類型錯誤、超出可接受的范圍或者與其他參數(shù)沖突。30210x800A0BCDBOF或EOF為True,或者當(dāng)前記錄已經(jīng)刪除。應(yīng)用程序請求的操作需要當(dāng)前記錄。32190x800A0C93應(yīng)用程序請求的操作不允許出現(xiàn)在該上下文中32460x800A0CAE在事務(wù)中應(yīng)用程序無法顯式關(guān)閉Connection對象。32510x800A0CB3提供者不支持應(yīng)用程序請求的操作。32650x800A0CC1ADO無法在對應(yīng)于應(yīng)用程序請求的名稱或順序引用的集合中找到對象。33670x800A0D27無法追加,對象已經(jīng)在集合中。34200x800A0D5C應(yīng)用程序引用的對象不再指向有效的對象。ADO錯誤34210x800A0D5D應(yīng)用程序使用了不符合對當(dāng)前操作的值類型。37040x800A0E78如果對象關(guān)閉,則不允許應(yīng)用程序請求的操作。37050x800A0E79如果對象打開,則不允許應(yīng)用程序請求的操作。37060x800A0E7AADO找不到指定的提供者。37070x800A0E7B應(yīng)用程序無法用Command對象將Recordset對象的ActiveConnection屬性更改為它的來源數(shù)據(jù)。37080x800A0E7C應(yīng)用程序錯誤地定義了Parameter對象。37090x800A0E7D應(yīng)用程序通過引用關(guān)閉或無效的Connection對象來請求對對象的操作。12.3技能與實訓(xùn)現(xiàn)編寫一個程序?qū)@個表進行查詢,而在程序編寫時,表名寫錯了,將產(chǎn)生錯誤3265:現(xiàn)有一個數(shù)據(jù)庫ly.mdb,其中表chlim的結(jié)構(gòu)和數(shù)據(jù)如下圖12.3技能與實訓(xùn)<%@LANGUAGE="VBSCRIPT"%><%onerrorresumenextdimconndimconnstrdimdbdimrsdb="ly.mdb"Setconn=Server.CreateObject("ADODB.Connection")Setrs=Server.CreateObject("ADODB.Recordset")connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(db)conn.Openconnstrsql="select*fromclimwhereuname='hk'"setrs=conn.execute(sql)%>12.3技能與實訓(xùn)<html><head></head><body><%=rs("uname")%><%IfErr.Number<>0Then%><FONTFACE="宋體"><P><B>PageErrorObject</B><BR>錯誤Number:<%=Err.Number%><BR>錯誤信息:<%=Err.Description%><BR>出錯文件:<%=Err.Source%><BR><%iferr.number=3265then%>查找一個不存在的表,產(chǎn)生錯誤!<%endif%><%EndIf%></body></html>12.4思考與練習(xí)1.填空題(1)可以在Windows2000系統(tǒng)下的___________中打開MicrosofScriptDebugger。(2)要使得MicrosofScriptDebugger調(diào)試器起作用,必須在___________中進行配置,使之支持。(3)當(dāng)一個錯誤發(fā)生并且很難找到錯誤的根源時,可使用___________的調(diào)試方法。(4)當(dāng)執(zhí)行到腳本中含有斷點的行時,計算機啟動___________程序,并且語句指針會指在設(shè)置了斷點的行上??梢酝ㄟ^快捷鍵___________來設(shè)置一個斷點。(5)在VBScript中,解釋器對大多數(shù)的錯誤都進行了編號,如果能得到現(xiàn)在產(chǎn)生___________,那么就能夠獲得當(dāng)前錯誤的類型,并做出相應(yīng)的處理。(6)在VBScript中,可以通過使用___________語句使腳本解釋器不處理其找到的任何錯誤,而繼續(xù)運行下個語句。2.選擇題(1)MicrosofScriptDebugger是由以下哪個公司開發(fā)的?()A.華為 B.微軟 C.思科 D.SUN(2)配置IIS對腳本調(diào)試的支持,可以在站點屬性的()選項卡中進行配置。A.Web站點 B.安全 C.虛擬目錄 D.性能(3)要獲得錯誤編號,可以通過Error對象的()屬性。A.Number B.error C.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論