最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

程序错误及处理浅探

来源:动视网 责编:小OO 时间:2025-09-29 02:40:14
文档

程序错误及处理浅探

ASP程序错误及处理浅探张统宣(渭南师范学院南校区管理办公室,陕西渭南714000)摘要:介绍了ASP程序中常见的三种错误类型,提出了有效防止错误的两个方面及错误处理的三种方法。关键词:ASP程序脚本错误错误处理OntheASPProgramErrorand ErrorHandlingZHANGTong-xuan(WeinanTeachersUniversity,Southcampusmanagementoffice,Weinan,Shaanxi,714000)Abstract:Thispap
推荐度:
导读ASP程序错误及处理浅探张统宣(渭南师范学院南校区管理办公室,陕西渭南714000)摘要:介绍了ASP程序中常见的三种错误类型,提出了有效防止错误的两个方面及错误处理的三种方法。关键词:ASP程序脚本错误错误处理OntheASPProgramErrorand ErrorHandlingZHANGTong-xuan(WeinanTeachersUniversity,Southcampusmanagementoffice,Weinan,Shaanxi,714000)Abstract:Thispap
ASP程序错误及处理浅探

张统宣

(渭南师范学院 南校区管理办公室,陕西 渭南 714000)

摘要:介绍了ASP程序中常见的三种错误类型,提出了有效防止错误的两个方面及错误处理的三种方法。

关键词:ASP程序 脚本错误 错误处理

On the ASP Program Error and  Error Handling

ZHANG Tong-xuan

(Weinan Teachers University, South campus management office,Weinan, Shaanxi, 714000)

Abstract:This paper introduces the ASP program three common types of errors, Proposed to effectively prevent errors in two aspects and error handling of the three methods.

keywords:ASP Program, Script errors, Error handling

0引言

ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容,也可以创建使用HTML网页作为用户界面的Web应用程序。ASP网页程序出现各种错误,常常会导致ASP页面停止执行。在实际中,当用户遇到此类情况时,一般得到的都是一些用处不大的建议或提示,如:“单击刷新按钮,或稍后重试”,“打开localhost主页,然后查找与所需信息相关的链接”等等,因此,详细了解脚本和页面中的错误如何出现,可能产生的错误类型以及造成这些错误的原因,使程序开发中尽量避免错误,程序调试中更有效地处理发现的错误。

1 ASP程序中的错误类型

常见的造成ASP脚本程序出现错误的原因有三种类型,即编译错误、运行错误和逻辑错误。脚本的错误,可能导致程序脚本无法正确执行,程序停止执行或返回错误的结果。编译错误是由程序脚本语法错误导致的,常见的VBScript语法错误有53种,如命令拼写错误、函数参数传递错误等等,编译错误常常导致脚本不能运行。运行错误指已经通过解释器或编译器的解释或编译的完整有效代码,在执行中产生了错误,运行错误可能造成脚本中断而不能正常运行,常见的VBScript运行错误有66种,如“无效过程调用或参数、溢出”等。逻辑错误是由于程序编写过程中输入错误或程序错误流引起的,这种错误往往很难检测,存在逻辑错误的脚本可能会正常运行,但产生错误的运行结果,如对两个值进行大小比较,本来应当用“<”符号,却误写成了“>”符号,程序虽然可以运行,但必将返回错误的比较结果。这类错误通常情况不会显露出来,是程序调试中最为棘手的问题。

2 防止ASP程序脚本错误的有效方法

2.1培养良好的编程习惯

作为一名程序开发人员,最重要的一件事就是防止应用程序失败,尽量控制潜在错误的个数,更确切的说,就是要合理有效地处理脚本中可能出现的任何错误,确保不会引起ASP应用的失败。培养良好的编程习惯能最大限度地避免程序中出现错误,减少把错误带进程序中的可能性。

一是代码的格式化和缩进编排。代码的格式化和缩进编排虽然与程序运行本身无关,但对于查找错误位置显得更加容易明显。利用格式化和缩进来显示程序的逻辑结构,每层缩进一个Tab长度,这样使程序更加清晰和易于阅读,特别在嵌套很多的代码中,这种风格更易于阅读和跟踪维护。

二是显式声明变量。在脚本页面的开头插入Option Explicit语句时,可以避免使用没有用Dim命令定义的变量,有助于避免错误,特别是那些难以发现的引起脚本产生不正确结果的逻辑错误。

三是变量命名约定要易于识别和理解。变量是ASP程序设计中不可缺少的内容,虽然命名有很大的任意性,但应当易于识别和理解,最好选用有实际意义的标识符。变量名应当具有说明性,要尽量简单,在能识别的情况下尽量少用字符,应当尽量避免使用相似的变量名,同一变量名不要有多种含义。命名风格要自始至终保持一致,不可来回变化。特别要注意的是,除非必要,否则不要用数字或较奇怪的字符来定义标识符。

四是封装脚本语言以便代码重用。面向对象编程的原理是建立在程序代码重用的基础上的,并且SSI的#include和新增的Server.Execute方法使用调用存储在程序库中的函数更为容易。在ASP页面中,可以通过#include命令指示 Web服务器将文件内容插入到文档中,被包含文件的内容可以是允许在HTML文档中使用的任何有效内容。方法Server.Execute的作用是把执行转到另一个网页。代码的重用不仅可以提高开发速度,而且可以显著的提高ASP程序的质量。

五是在软件设计过程中构筑软件质量,时刻注意潜在的错误情况。要严格遵守代码质量保证优先原则,认真处理程序所遇到的各种出错情况。要防止把“<=”误写成“<”或“>=”误写成“>”等造成的逻辑错误。要特别严重注意易混淆的操作符,以防止拼写错误。

2.2对程序核心部分和关键算法增加注释

在程序开发中,对常用函数和子程序进行注释是相当必要的,这将对后面调试程序和其他用户重新使用这些程序带来很大的益处,成为源程序文件必不可少的一部分,特别是程序的开头的序言性注释和核心部分或关键算法及程序的难点需要有详细的注释。当然,需要注意的是不需要对所有代码都做注释,过分的注释会加重系统的负担。注释一定要方便程序的阅读和维护,内容要清楚、明了,含义准确,在程序修改时,一定要保持代码和注释的同步更新。

3 ASP错误情况的处理

在ASP程序编写过程中,即使采用了防御性编程技术之后,错误仍能进入到网页,这可能是因为测试并不充分,或者是因为所依靠的一些其他资源或服务没有正确工作。为了防止页面出现问题,在程序中要能够进行定制错误处理。

3.1 ASP缺省错误处理器

ASP运行期脚本错误不总是由IIS发现的,当一个运行期错误发生时,脚本引擎会查看一下目前执行点或语句的环境。如果正在执行一个子程式或函数,缺省的脚本引擎错误处理器通过终止子程式的运行并返回调用子程式的地方来指出错误。在这里,程式会查看是否实现了其他的错误处理器,如果没有的话,又会重复这个过程,然后返回到调用子程式的地方。当子程式返回到网页的主程式(在所有其他子程式或函数外面)时,程式又查看是否实现了所有其他的错误处理器。在这个过程中,只有确实没有发现其他的错误处理器,程式才给ASP提示错误,指示 IIS把执行转到缺省的错误页面。

3.2 VBScript错误处理

在VBScript中,能使脚本解释器不处理其找到的所有错误,并且使用On Error Resume Next语句继续运行下个语句。一旦这个语句已被处理,脚本引擎将继续运行后面的程式,而不理会已发现的所有错误。当然,这种过程仅适用于顺序执行语句的环境,不适用于嵌套的函数或子程式。

使用On Error Resume Next语句。一个错误在子程式中出现时,如果没有运行On Error Resume Next语句,那么错误将被交给调用他的环境,这个过程一直重复到找到运行On Error Resume Next语句的环境继续运行,或找到缺省的脚本错误处理器,把错误交给ASP并且IIS显示缺省错误网页。如果在子程式的开头放置一个On Error Resume Next语句,所有运行期错误会中止这个子程式的运行,不过调用该子程式的程式将继续运行而不会引起网页的停止。

使用On Error Goto 0。在ASP中,On Error Goto 0语句能够恢复缺省的错误处理行为。在运行这个语句后,发生的运行期错误将导致缺省错误处理,在环境链中检查每个嵌套的程式,直到主页面代码。如果没有其他的环境关闭缺省错误处理,网页的执行将停止并显示IIS缺省错误网页。

VBScript Err对象的使用。Err对象能够用Source和Description属性值存储关于运行期错误的信息并提供给用户,使用户能根据错误号采取不同的措施。也可以调用Raise方法来产生错误,停止程序的运行,并且把错误沿调用链向回传递。

3.3使用IIS错误页面

与ASP错误处理过程相关的内容是为IIS提供可定制的错误页面,新的ASP内置对象ASPError,更易于使用且提供更加强大的功能。使用VBScript检查ASPError对象的内容,从而创建一个定制的错误页面。构建下载一个包含错误内容全面信息的字符串,且写入到服务器磁盘上的日志文件中,并使访问者能够选择是重新载入上一个网页还是回到主页,使他们没有意识已经发生了错误。IIS定制的错误页面工作过程是这样的:第一步是关闭缺省的错误处理器以便页面程序不被另一个错误中断。第二步通过创建一个新的ASPError对象收集原始错误信息。下载进行这个工作时要格式化一些值,并把它们转换成合适的数据类型。

4 结语

随着 ASP提供越来越多的特性,脚本中出现错误的机会也在增加。了解如何发现并处理错误的基本知识非常必要。通过分析可能出现的不同种类的错误,掌握缺省的 ASP和脚本引擎错误处理系统捕获错误的机理,有助于我们更容易地跟踪错误。在研究错误是什么和来自哪里的同时,掌握一些预防性编程的方法以便能尽早地发现问题,防止把错误和无效数据传给其他的应用程序。编程时出现的错误越少,越容易发现和解决它们。当然,好的编程习惯并不能阻止某些种类的错误发生,例如那些由外部资源和服务造成的错误。这意味着提供自己的定制错误处理代码,在出现错误时知道如何跟踪错误并进行妥善处理,是非常重要的。

参考文献

[1]宋维堂.ASP动态网页设计[M].北京:中国铁道出版社,2008

[2] Richard Anderson Chris Blexrud. ASP3.0高级编程[M].刘福太,张立民等.北京:机械工业出版社,2000

[3]Derek Ferguson.ASP调试实用手册[M].段来盛,裘岚等.北京:电子工业出版社,2000

文档

程序错误及处理浅探

ASP程序错误及处理浅探张统宣(渭南师范学院南校区管理办公室,陕西渭南714000)摘要:介绍了ASP程序中常见的三种错误类型,提出了有效防止错误的两个方面及错误处理的三种方法。关键词:ASP程序脚本错误错误处理OntheASPProgramErrorand ErrorHandlingZHANGTong-xuan(WeinanTeachersUniversity,Southcampusmanagementoffice,Weinan,Shaanxi,714000)Abstract:Thispap
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top