您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > ASP动态网站开发教程(第三版)-12
ASP动态网站开发教程(第三版)第12章ASP程序调试与错误处理ASP程序在运行时有可能出现各种错误,这些错误可分为3类:语法错误、运行错误和逻辑错误。ASP程序调试的过程就是发现和改正脚本错误的过程。通过调试,可以找出导致错误的原因并找出发生错误的位置。ASP动态网站开发教程(第三版)教学重点与难点掌握调试ASP脚本的方法了解ASP错误提示了解自定义错误信息的方法了解事务ASP动态网站开发教程(第三版)12.1调试ASP程序脚本开发程序的过程中难免会发生错误,这些错误有时是在编写程序代码时不小心输入错误,有时是因访问者操作不当而引起的。无论开发人员如何小心谨慎,编写脚本时总会有疏忽大意之处,这样运行时也就可能出现这样或那样的错误,而且随着脚本变得越来越复杂,出错的概率也将成倍增长。因此如何避免错误,找出错误便成了ASP程序设计中不可缺少的一环。通过调试,就可以找出导致错误的原因并找出错误发生的位置。认识ASP脚本错误使用Microsoft脚本调试器断点调试ASP动态网站开发教程(第三版)脚本错误大致分为3类,即语法错误、运行错误和逻辑错误。语法错误是一种经常遇到的错误,程序没有按照规定的语法书写就会出现语法错误。这种错误常发生在初学者身上。运行错误通常是开发人员在编程时不够严谨、处理不当而遗留下来的潜在性错误。运行错误必须改正,脚本才会不中断地执行。逻辑错误是脚本未按预期方式执行所产生的错误,即脚本中的代码本身是合法的,而且能够执行,但执行结果不正确。例如,服务器端脚本将对列表中的值进行排序,若在脚本中本该用小于号()的地方错误地使用了大于号(),则会导致排序结果不正确。逻辑错误最麻烦,也最难发现。12.1.1认识ASP脚本错误ASP动态网站开发教程(第三版)IIS自带一个Microsoft脚本编辑器,使用它可查看和编辑HTML文件中的HTML标记,还可向文件中添加脚本并对其进行调试。Microsoft脚本编辑器的主要功能有:逐行运行服务器端脚本。在服务器端脚本执行时,打开命令窗口监视变量、属性或数组元素的值。在脚本的指定行设置断点以暂停执行服务器端脚本。运行服务器端脚本时跟踪过程/函数。12.1.2使用Microsoft脚本调试器ASP动态网站开发教程(第三版)在Microsoft脚本编辑器中,断点调试是一种常用的错误调试技术。断点是在脚本中作了标记的位置,在指定的脚本行暂停执行脚本。当发生错误但无法轻松地找到错误源时,预先设置“断点”有时会很有用。可以在可疑的行前面设置一个或多个不同的断点,当再次运行程序时,程序在执行到设置了断点的脚本行后,系统会自动启动脚本调试程序显示脚本,并且语句指针指向设置了断点的行。此时可使用调试程序检查脚本中设置的变量或属性的值。改正错误后,可以清除断点,这样脚本就可以不间断地运行了。12.1.3断点调试ASP动态网站开发教程(第三版)12.2认识ASP错误提示在ASP程序运行过程中,可能会因出错而遇到各种错误提示。了解这些错误提示所代表的含义,会方便对程序进行调试。VBScript语法错误VBScript运行错误ADO错误ASP错误代码ASP动态网站开发教程(第三版)如果用户在使用VBScript语句编写ASP应用程序时,VBScript语句结构违反了一个或多个VBScript脚本语言语法规则,那么当运行ASP脚本时,浏览器就会出现提示VBScript语法错误,如图所示。12.2.1VBScript语法错误ASP动态网站开发教程(第三版)如果编写ASP应用程序的VBScript脚本执行系统无法实施的操作,ASP页面在运行时则会在浏览器中提示VBScript运行错误。只有在运行脚本,为变量表达式赋值或分配内存时,才会产生VBScript运行错误。12.2.2VBScript运行错误ASP动态网站开发教程(第三版)除了在Error对象和Errors集合中说明的提供者错误之外,ADO本身也将错误返回到运行时环境的异常处理机制中。使用编程语言的错误捕获机制(如MicrosoftVisualBasic中的OnError语句)可捕获及处理ADO错误。12.2.3ADO错误ASP动态网站开发教程(第三版)用户在调试ASP脚本程序时,可以参考ASP应用程序在运行时的常见错误代码等内容识别ASP脚本错误。12.2.4ASP错误代码ASP动态网站开发教程(第三版)12.3自定义ASP错误信息当用户试图连接到Web站点时,若出现了HTTP错误,服务器就会向用户返回一条错误消息,简述试图建立连接时所发生的事情。例如,如果用户试图连接到某个Web站点,而该站点已达到最大连接数时,服务器就会以HTML页形式返回一条HTTP错误,其中包含“用户太多”这样的错误信息。添加自定义错误消息自定义ASP错误处理错误跳转语句ASP动态网站开发教程(第三版)自定义错误消息可分为两种形式:映射为文件或映射为URL。这两种形式都可通过设置“Internet信息服务”控制台中的“自定义错误”属性页来实现。12.3.1添加自定义错误消息ASP动态网站开发教程(第三版)Web站点及其所有应用程序都默认将ASP错误进程传送到500-100.asp文件,该文件处理ASP文件编译和运行期间发生的任何错误。当ASP文件发生错误时,IIS通过Server对象的Transfer方法将请求从正在执行的ASP文件传输到500-100.asp文件,原来请求的ASP文件立即终止并返回详细的错误信息,如发生错误的行号和对错误的描述等。12.3.2自定义ASP错误处理ASP动态网站开发教程(第三版)当程序出现错误时将终止ASP的运行,此时可使用OnErrorResumeNext语句,使程序中的所有错误都被忽略,而自动执行下一条语句。这样程序就会完全执行,用户也不会看到出错信息。在ASP中,可在程序最底端放上代码来处理错误,并在每个ASP程序中都使用缓冲区。如果错误发生,页面就会停止,页面内容也会被清除。12.3.3错误跳转语句ASP动态网站开发教程(第三版)12.4事务事务是一种服务器操作,该操作要么全部成功,要么全部失败,即使该操作包含许多步骤(如订购、检查存货及付账等)也是如此。可以创建在事务内运行的服务器端脚本,如果脚本出错,则整个事务将中止。ASP事务基于“组件服务(ComponentServices)”事务环境,这是一种事务处理系统,用来开发、部署和管理高性能、可扩展的Internet/Intranet服务器应用程序。如果事务中止,“组件服务”将恢复对支持事务的资源所做的任何更改。事务简介声明事务脚本提交或中止事务ASP动态网站开发教程(第三版)12.4.1事务简介ASP事务处理是以MicrosoftTransactionServer(MTS)为基础的。TransactionServer为开发分布式的、基于组件的应用程序提供了一个应用程序设计模型,也为配置和管理这些应用程序提供了一个运行环境。事务是整体成功或失败的操作。事务处理用于对数据库进行可靠的更新。在对数据库进行许多相关更改或同时更新多个数据库时,要保证所有更改都被正确执行。如果这些更改中的任何一个失败,都须要恢复数据库表的原始状态。ASP动态网站开发教程(第三版)12.4.2声明事务脚本将一个页声明为事务性时,此页中的任何脚本命令和对象都运行在同一个事务环境中。TransactionServer处理生成事务的细节并决定事务成功(提交)或失败(终止)。要声明事务脚本,只需在ASP页顶部添加@TRANSACTION命令即可,其语法结构如下:%@TRANSACTION=value%ASP动态网站开发教程(第三版)12.4.3提交或中止事务因为TransactionServer跟踪事务处理,所以它决定事务是完全成功还是失败。可以用ObjectContext对象来提交和中止由“组件服务”管理的事务。ObjectContext对象包含SetAbort和SetComplete两个方法。SetAbort方法用来中止事务。例如,当一个事务从一个组件收到错误消息、违反商业规范时(例如,账户余额小于0)或读写文件等非事务性操作失败时,脚本就须要终止该事务。如果网页在事务完成之前超时,则事务也将被中止。
本文标题:ASP动态网站开发教程(第三版)-12
链接地址:https://www.777doc.com/doc-3378855 .html