ASP 3.0高级编程(三十)

2016-01-29 19:16 0 1 收藏

ASP 3.0高级编程(三十),ASP 3.0高级编程(三十)

【 tulaoshi.com - ASP 】

  第7章          
调试和错误处理
前面已经介绍了使用ASP所需要的基本技能,本章要讨论的另外一个问题是当ASP出现错误时怎么办,ASP出错时是什么情况。当精心编排的ASP页面出现问题停止了执行时,用户一般得到的仅是一些用处不大的建议,诸如:点击“刷新”按钮,或者“与站点的Web管理员联系,告诉他们你的页面不能正常工作了”等等。
本章除了提供有用的信息外,还想提供一个帮助区域。我们将详细介绍在脚本和页面中错误如何出现,可能产生的错误类型,以及什么造成了这些错误。更重要的是,要讨论如何尽可能避免错误的发生,如不能避免又如何妥善处理。
因此,本章将要探讨页面调试技术,也就是如何花费不多的精力和时间就能找到错误并解决问题。
本章包括以下内容:
· 能够出现的错误类型。
· 如何防止各种错误的产生。
· 如果不能防止错误发生,如何妥善处理这些错误。
· 如何发现和处理脚本错误及其他类型的错误。
· 如何使用定制的错误页面得到错误信息。
· 如何记录发生的错误以监视我们的网站。
· 创建一个定制错误网页和一个错误日志文件。
· 提供相关的在线帮助。
本章不涉及如何处理使用ActiveX Data Objects(ADO)访问数据源时出现的各种特殊类型的错误。像许多组件一样,ADO提供了自己的错误处理系统,第8章将深入讨论这一点。本章将从讨论能出现的各种错误类型开始,使我们能够认识这些错误并采取相应的措施。
据说,在非洲最黑暗的雨林深处,有这样一群程序员,他们的程序代码从来没有出现过错误。但是,很遗憾他们从没有享受过调试一段不能正常工作的应用程序的乐趣。调试程序代码是一个真正充满快乐的工作,所以我们要面对这个问题,在调试程序的过程中检验我们的观察力和横向思维能力。大多数“真实世界”的程序员能够体验这些乐趣是一件好事。
当然,有些人会说,调试程序与其说是判断,不如说是碰运气。花费了许多时间去调试一段有错误的程序,在某种程度上可以说确实是依赖运气。但是,如果第一步从合适的地方开始查看,可能会更快地解决问题。
但这不是程序调试应采取的办法。从理论上讲,当某段程序运行失败时,应该以逻辑或顺序方式跟踪错误。作为一个聪明和有经验的程序员,这才是调试时常用的方法,只有业余人员才随意改变程序中变量的值,到处添加Response.Write语句进行调试。
然而,为了能够在逻辑上跟踪程序中的错误,必须了解有关错误如何出现方面的基础知识,更重要的是知道错误出现在哪里,以便很快就能找到相应的地方。本章讨论的内容是有关程序中能够出现的不同种类的错误,错误的不同表现,以及如何记录和排除这些错误。同样重要的是,还将介绍如何避免这些错误的发生。
本章将从介绍可能出现的不同种类的错误开始,如果认为你的代码不会出现任何错误,可以直接跳到下一章。

7.1 错误的种类

7.1.1 语法或“编译”错误
       当我们第一次运行新编写的程序代码时,通常看到的第一种错误类型是“syntax error”。这就是所说的,程序代码上的语法错误。这就像在写作中使用了错误的语法,使读者不能了解其中的含义。而解释器(诸如脚本引擎)和编译器对语法要求得更加严格和准确。
       语法错误通常也是最早出现和需要排除的。大多数情况下,解释器和编译器会指出行号和所在行中的字符位置,以及在相应的位置上缺少的内容。下面举一个简单的例子,如下所示的这样一段程序:
       <%
       Response.Write "The repayments for your loan are $" & chrPayment _
                            & " per " & strInterval & , due on the " &strDay & " of each "
                            & strInterval & "."
       %
       我们希望得到下面的结果:
       The repayments for your loan are $124.50 per month, due on the 12th of each month.
       实际上得到的结果如图7-1所示:

图7-1  程序执行结果1
       豆豆注:
              如果你

来源:https://www.tulaoshi.com/n/20160129/1508898.html

延伸阅读
标签: ASP
  4.3.3 执行其他的网页        ASP 3.0和IIS 5.0的新特性之一就是引入了可编程的服务器端重定向(server-side redirection)的概念。这意味着,可以把一个网页的控制和执行转到另外一个网页,而不需要在客户端使用Response.Rdedirect方法。 1.  客户端重定向带来的问题 ASP编程人员通常使...
标签: ASP
  4.3.5 获取Server对象的路径信息        在对存储在Web网站上的文件进行操作时,需要获得文件的实际的物理路径,而不是使用虚拟路径或URL,尽管在其他网页中能用它们正常地定位文件。下一章中有一个例子,它使用FileSystemObject对Web站点的InetPub\WWWRoot文件夹中的文件进行读写。当创建自己的定...
标签: ASP
  第5章 脚本运行期库对象        前面章节已经介绍了ASP如何使用在服务器上定义的对象的实例,充分利用所提供的方法和属性扩展ASP的性能。有一系列的对象可供使用,包括脚本对象和标准IIS/ASP安装的组件,以及自己创建的或者从其他供应商处购买的对象。也可以在互联网上各种网站免费下载对象,并在自...
标签: ASP
  (4)  删除虚拟应用程序 单击“Remove”按钮不会真正地删除Internet Services Manager中的该条目。而是把现有的虚拟应用程序转换为一个虚拟目录。这个目录有一个带有蓝色球的“文件夹”图标,该图标表示这并不是Web网站中一个真正的目录,而是对磁盘上另一个文件夹的一个重定向。对它进行的访问方式与创建它的虚拟应...
标签: ASP
  第四章      服务器进程和ASP Server对象 前面的章节已经研究了ASP的一些内置对象。重点介绍的对象有Request、Response、Session和Application对象。ASP中另一个比较主要的对象为Server对象。本章重点介绍这个对象的背景知识和使用方法。 Server对象在服务器端脚本中通过实例和使用其他外部对象和组件,...

经验教程

50

收藏

18

精华推荐

ASP 3.0高级编程(一)

ASP 3.0高级编程(一)

cheneyfanpku

ASP 3.0高级编程(四)

ASP 3.0高级编程(四)

神仙不绝

ASP 3.0高级编程(八)

ASP 3.0高级编程(八)

ba1jiang2hu

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部