配色: 字号:
《ASP动态网页设计》第8章ASP程序调试与错误处理
2023-05-24 | 阅:  转:  |  分享 
  
3. 记忆力强计算机的存储器类似于人的大脑,可以“记忆”(存储)大量的数据和信息,在计算的同时,还可以把中间结果存储起来,供以后使用。学习目
标1. 掌握ASP程序调试的常用方法。2. 了解ASP程序错误表现的形式及一般处理方法。8.1 ASP程序调试 8.2 使用E
rr和ASPError对象处理ASP程序错误 程序调试对每个编程人员来说都是程序设计过程中不可避免的一个环节,因为没有人能
保证每次设计的程序都能一次性编写运行成功。这里我们就ASP程序调试方法作分析,虽说是ASP调试方法,其实对于其他的脚本类的开发语言
都是适用的,因为ASP等脚本是没有开发的IDE来支持,基本上也没有Debuger可以使用,所以调试起来比其他的程序都要难,但是只要
肯花心思去想,还是可以很容易地找到出错的原因的。 8.1.1 启用调试 8.1.2 设置断点语句 8.1.1 启用调试
在开始调试服务器端的脚本之前,首先必须将Web服务器配置为支持ASP脚本调试。配置过程如下:① 在“Internet信息服务”窗
口中打开“默认网站属性”对话框,然后在其“主目录”选项卡中单击右侧的“配置”按钮,如图8.2所示。 ② 在弹出的“应用程序配置”对
话框中,选取“调试”选项卡,并选定其中的“启用ASP服务器脚本调试”复选框,如图8.3所示。 ③ 单击“确定”按钮完成设置。启用W
eb服务器调试后,即可使用下列任意一种方法调试脚本。手动打开脚本调试器以调试ASP服务器端脚本。使用Internet Explor
er请求ASP文件。如果文件包含错误或故意用来中断执行的语句,脚本调试器将自动启动,显示脚本并标出错误的位置。 8.1.2 设置
断点语句【任务引入】编写好一段程序代码后,对其进行调试检测是至关重要的。在实际情况中,往往通过设置断点来简化测试步骤,提高测试效率
。【任务目标】掌握通过设置断点语句的方法来调试程序。【任务内容】对于使用VBScript编写的服务器端脚本,可通过在程序内插入一条
专门的Stop语句的方法来设置一个断点。下列程序为服务器端脚本,其中包含一条Stop语句,表示在脚本调用子程序之前暂停执行脚本。【
任务分析】在调用子程序之前设置断点语句,可以有效的检测主程序与子程序的参数传递问题,以及检测各自程序内是否有错误。【程序代码】<%
@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>Response.<br> Redirect<% gosite=request.Form("select") s
ub go(url) ''定义子程序 select case url case "1" response.Redi
rect "http://www.skycn.com/" case "2" response.Redirect "http:
//www.onlinedown.net/" end select end sub stop ''设置断点 call g
o(gosite) ''调用子程序%>

请选择你要进入的下载站点:

"post" action="7-8.asp">
dy>【任务小结】在浏览器中请求此脚本页面时,将启动调试器并自动显示有关脚本程序内容,并且语句指针将指示出Stop语
句位置。需要注意的是,在程序调试完毕后,记得把Stop语句删除。 程序实例:<%@ Language =
"VBScript" %><% Option Explicit %><% On Error Resume Next msg = "
大家好,我是左小舟!" Response.Write msg If Err.Number > 0 Then Response.
Write "对不起,程序发生错误,停止执行!
" Response.Write "错误代号:" & Err.Numbe
r & "
" Response.Write "错误原因:" & Err.Description & "
" En
d If Response.Write "若要回首页,请点击此处"%> dy>1. 使用Err对象处理错误 上述程序中,由于我们加入了On Error Resume Next语句,所
以当VBScript脚本执行到出现变量“msg”时,原本会因为没有声明“msg”变量而终止执行,但现在则会跳过产生错误的语句,直接
去执行后面的If条件判断语句以及后续语句,这样,用户就不会再看到“无法显示网页”和许多术语的错误信息。运行结果如图8.4所示。例:
<%@ Language = VBScript %><% Option Explicit %>
对不起,程序发生错误,停止执行。
若要回首页,请按此处

<% Dim objASPError Set objASPError = Server.GetLastError
() %> 错误码:<%= objASPError.ASPCode %>
错误代号:<%= objASP
Error.Number %>
错误程序代码:<%= objASPError.Source %>
错误
文件:<%= objASPError.File %>
错误行数:<%= objASPError.Line %> > 错误Column:<%= objASPError.Column %>
错误类型:<%= objASPErr
or.Category %>
错误描述:<%= objASPError.Description %>

错误描述:<%= objASPError.ASPDescription %>
2. 使用AS
PError对象处理错误 上述程序中,我们调用Server对象的GetLastError()方法取得最近一次发生的错误,然后将
返回的ASPError对象实例指派给objASPError变量。然后我们利用ASPError对象的属性显示出各项错误信息,其中AS
PCode属性为IIS在碰到ASP错误时所产生的错误码,Number属性为错误代码,Source属性为产生错误的程序代码,File属性为产生错误的文件,Line属性为产生错误的行数,Column属性为产生错误的那行程序代码的第几个字符,Category属性为产生错误的类型,Description属性为错误描述,ASPDescription属性为ASP错误描述。
献花(0)
+1
(本文系大高老师首藏)