【asp源码栏目提醒】:网学会员在asp源码频道为大家收集整理了“8 ASP程序调试与错误处理 - 讲义教程“提供大家参考,希望对大家有所帮助!
ASP教学内容理解调试
ASP脚本理解
ASP错误提示了解自定义错误信息了解事务处理。
教学重点、难点重点调试
ASP脚本、
ASP错误提示。
难点调试
ASP脚本。
10.1调试
ASP脚本所谓程序调试是将编制的程序投入实际运行前用手工或编译程序等方法进行测试修正语法错误和逻辑错误的过程。
ASP程序调试的过程就是发现和改正脚本错误的过程。
通过调试就可以找出导致错误的原因并找出错误发生的位置。
10.1.1脚本错误脚本错误大致分为三类–语法错误–运行错误–逻辑错误10.1.1脚本错误语法错误是一种经常遇到的错误程序没有按照规定的语法书写就会出现语法错误。
这种错误较为常发生在初学者例如关键词拼写错误、If没有Then与之配对、字符串没有用双引号围起来等都会引发语法错误。
运行错误通常是开发人员在编程时不够严谨、处理不当而遗留下来的潜在性错误。
运行错误必须改正脚本才会不中断地执行。
逻辑错误是脚本未按预期方式执行所产生的错误即脚本中的代码本身是合法的而且能够执行但执行结果不正确。
例如服务器端脚本将对列表中的值进行排序若在脚本中本该用小于号则会导致排序结果不正确。
逻辑错误最麻烦也最难发现。
10.1.1脚本错误实例10-110以内的阶乘计算12Saa1在页面的文本框中输入010之间的数字单击“提交”按钮。
将在页面下方得到该数的阶乘。
10.1.1脚本错误2在页面的文本框中输入-1单击“提交”按钮。
系统会显示“Microsoft VBScript 运行时错误0x800A001C堆栈溢出: ‘factorial’”3在页面的文本框中输入11单击“提交”按钮。
程序同样正常的运行而没有显示应该出现的“输入的数据超出计算范围请重新输入”。
10.1.2Microsoft脚本调试器IIS自带有一个Microsoft脚本编辑器使用它可查看和编辑HTML文件中的HTML标记还可向文件中添加脚本并对其进行调试。
Microsoft 脚本编辑器的主要功能有–逐行运行服务器端脚本。
–在服务器端脚本执行时打开命令窗口监视变量、属性或数组元素的值。
–在脚本的指定行设置断点以暂停执行服务器端脚本。
–运行服务器端脚本时跟踪过程/函数。
10.1.3断点调试在Microsoft脚本编辑器中断点调试是一种常用的错误调试技术。
断点是在脚本中作了标记的位置它在指定的脚本行暂停执行脚本。
当发生错误但无法轻松地找到错误源的时候预先设置“断点”有时会很有用。
可以在可疑的行前面设置一个或多个不同的断点当再次运行程序时程序在执行到设置了断点的脚本行后系统会自动启动脚本调试程序显示脚本并且语句指针指向设置了断点的行。
此时可使用调试程序检查脚本中设置的变量或属性的值。
改正错误后可以清除断点这样脚本就可以不间断地运行了。
10.2
ASP错误提示在
ASP程序运行过程中可能会因出错而遇到各种错误提示。
了解这些错误提示所代表的含义会便于对程序进行调试。
10.2.1VBScript语法错误如果VBScript语句结构违反了一个或多个VBScript脚本语言语法规则就会产生VBScript语法错误。
VBScript语法错误通常在执行程序前编译程序时产生。
53个语法错误及其相关说明如表10-1所示。
P22410.2.2VBScript运行时错误如果VBScript脚本执行系统无法实施的操作则会产生VBScript运行时错误。
只有在运行脚本、为变量表达式赋值或分配内存时才会产生VBScript运行时错误。
65个运行时错误及其相关说明如表10-2所示。
P22610.2.3ADO错误除了在Error对象和Errors集合中说明的提供者错误之外ADO本身也将错误返回到运行时环境的异常处理机制之中。
使用编程语言的错误捕获机制如Microsoft VisualBasic中的OnError语句可捕获及处理下列错误。
ADO错误代码值及其相关说明如表10-3所示。
10.2.4
ASP错误代码
ASP一些主要错误的代码及其相关说明如表10-4所示。
10.3自定义错误信息当用户试图连接到Web站点时若出现了HTTP错误服务器就会向用户返回一条错误消息简述试图建立连接时所发生的事情。
例如如果用户试图连接到某个Web上点而该站点己达到最大连接数时服务器就会以HTML页形式返回一条HTTP错误其中包含“用户太多”这样的错误信息。
可以在IIS管理单元中配置IIS来发送自定错误信息而不是发送默认的HTTP1.1错误信息。
这些自定义错误信息可以映射为文件名或URL。
可用IIS管理单元自定义的HTTP1.1的错误信息如表10-1所示。
10.3.1添加自定义错误消息自定义错误消息可为两种形式即映射为文件或者映射为URL。
这两种形式都可通过设置IInternet信息服务管理器中的“自定义错误”属性页实现。
如果定义了用于处理自定义错误的
ASP文件则脚本将作为传送上下文的URL被调用。
例如如果有一个定义好的用于处理HTTP405错误的.
asp文件Handle405.
asp则当用户打开网页时出现405错误就会调用此.
asp文件。
如果使用静态自定义错误文件HTML文件则应将消息类型设为“文件”。
如果打算开发一个应用程序使用ISAPI或
ASP来处理错误则应将消息类型设为“URL”。
应该注意错误状态是用URL参数传递给应用程序的而设置HTTP头状态则是应用程序的职责否则HTTP的反应状态就是“HTTP1.1200OK”。
10.3.2自定义
ASP错误处理Web站点及其所有应用程序都默认将
ASP错误进程传送到500-100.
asp文件该文件处理.
asp文件编译和运行期间发生的任何错误。
当.
asp文件发生错误时IIS通过Server对象的Transfer方法将请求从正在执行的.
asp文件传输到500-100.
asp文件原来请求的.
asp文件立即终止并返回详细的错误信息如发生错误的行号和对错误的描述等。
10.3.2自定义
ASP错误处理然而对于用户创建的任何新的Web站点或其应用程序来讲500-100.
asp错误进程默认不是传送到自定义错误处理文件而是传送到HTTP1.1默认错误处理。
可以在IIS管理单元中将500-100.
asp错误映射到500-100.
asp文件或者映射到自己创建的
ASP错误处理文件。
要创建自己的
ASP错误处理文件需要使用Server对象的GetLastError方法该方法返回一个ASPError对象。
ASPError对象用来捕捉
ASP错误并向用户返回有用的信息如错误描述和发生错误的行号等。
ASPError对象包含表10-2所示的只读属性。
10.3.3错误跳转语句运行错误将终止
ASP的运行此时可使用OnErrorResumeNext语句所有的错误都会被忽略程序会自动执行下一条语句。
这样程序就会完全执行用户也不会看到出错信息。
在
ASP中处理错误时可在程序最底端放上代码来处理错误并在每个
ASP程序都使用缓冲区。
如果错误发生页面就会停止页面内容也会被清除。
10.4事务事务是一种服务器操作该操作要么全部成功要么全部失败即使该操作包含许多步骤如订购、检查存货及付账等也是如此。
可以创建在事务内运行的服务器端脚本如果脚本出错则整个事务将中止。