ASP 3.0高级编程(十五)

半步II天涯

半步II天涯

2016-01-29 19:11

ASP 3.0高级编程(十五),ASP 3.0高级编程(十五)
  4.3.4 Server对象的错误处理
       ASP没有错误处理机制一直受到批评。
       在VBScript中,有一个On Error Resume Next语句,它使脚本解释器忽略运行期错误并继续脚本代码的执行。接着该脚本可以检查Err.Number属性的值,判别是否出现了错误。如果出现错误,返回一个非零值。在ASP 3.0中,也可以使用On Error Goto 0“转回到”缺省的错误处理。在ASP 2.0中实际也进行这种处理,但是没有相应文档说明。
       在Jscript中,有一个新的错误处理功能:C语言风格的try和catch语句。然而所有的这些错误处理技术都不是由ASP或IIS实现的,而是由ASP使用的脚本引擎实现的。
       第7章专门讨论脚本和脚本引擎涉及到的调试和错误处理技术。
       同时,ASP和IIS的开发小组已经增加了一个新的功能,用于在ASP网页中进行错误处理。这分为两个部分:IIS错误页面的配置及使用ASP的一个新的方法和对象。
1.  Server对象的GetLastError方法
在ASP 3.0中,Server对象有一个名为GetLastError的新方法。与VBScript的Err对象不同,不能为查看是否出现了错误而随时调用该方法,只能在一个ASP定制的错误网页中使用。如果像对Err对象进行操作那样,通过关闭缺省的错误处理(用On Error Resume Next语句)来使用,则GetLastError方法不能访问错误的详细数据。
GetLastError方法要做的事情是提供更多的有关错误源和错误原因的信息。GetLastError方法创建并返回一个对象的引用,该对象是一个名为ASPError的新对象。这个对象具有一系列的属性,这些属性返回有关在GetLastError方法调用之前出现的最新错误的信息。
2.  ASPError对象的属性
ASPError对象提供了九个属性说明所出现的错误的性质和错误源,并返回引发错误的实际代码,其属性及说明如表4-4所示:
表4-4  ASPError对象的属性及说明
属 性
说 明

ASPCode
整型。由ASP/IIS产生的错误号,例如0x800A009

ASPDescription
字符串型。如果这个错误是与ASP相关的错误,这个属性是错误的详细说明

Category
字符串型。错误源,即ASP内部脚本语言、或一个对象

Column
整型。产生错误的文件中的字符位置

Description
字符串型。错误的简短说明

File
字符串型。错误出现时正在处理的文件的名称

Line
整型。产生错误的文件中的行号

Number
整型。一个标准的COM错误代码

Source
字符串型。引发错误的行的实际代码

3.  配置“单个网页”错误处理
在IIS中“不可思议”地出现一个错误(例如404 Not Found)时,页面看起来像是从服务器返回给客户端的一个错误信息页面,但实际上并不是这样。它们是普通的HTML网页,在对一个错误进行响应时被下载并且发送给客户端。这些网页通常称为定制的错误网页(custom error page)。
然而,错误网页作为IIS的缺省安装部分,可根据要求定制。事实上,也可以在IIS的早期版本中建立定制的错误网页。
在IIS 4.0中,可以为每种不同类型的HTTP协议或服务器错误指定一个定制的错误网页,为服务器上任意的Web网站中的每个目录建立一个定制的错误信息网页。
(1)    IIS缺省的错误网页
由IIS提供的缺省错误页面放在Web服务器的WinNTHelp目录中。在Windows 2000中的IIS 5.0的环境下,该页面放在WinNTHelpiishelpcommon目录下,如图4-17所示:

图4-17  缺省的错误页面位置
可在浏览器中打开这些文件查看结果,或者在文本编辑器中查看HTML源程序和脚本代码。当一个404错误出现时,使用的页面是404b.htm,这个文件包含一个客户端脚本代码部分,它获得当前文档的URL(从document对象的url属性中检索)并在该页面中显示:
<tr
<td width="400" colspan="2" <font style="COLOR:000000; FONT: 9pt/11pt 宋体"您正在搜索的网页可能已经删除、更名或暂时不可用。</font</td
  </tr

  <tr
    <td width="400" colspan="2" <font style="COLOR:000000; FONT: 9pt/11pt 宋体"

       <hr color="#C0C0C0" noshade

<p请尝试下列操作:</p

       <ul
<li如果您在“地址”栏中键入了网页地址,请检查其拼写是否正确。<br
      </li

<li打开 <script
    
展开更多 50%)
分享

猜你喜欢

ASP 3.0高级编程(十五)

ASP
ASP 3.0高级编程(十五)

ASP 3.0高级编程(三十五)

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

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ASP 3.0高级编程(二十五)

ASP
ASP 3.0高级编程(二十五)

ASP 3.0高级编程(四十五)

ASP
ASP 3.0高级编程(四十五)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ASP 3.0高级编程(五)

ASP
ASP 3.0高级编程(五)

ASP 3.0高级编程(六)

ASP
ASP 3.0高级编程(六)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

asp+语法教程(六)数据库篇

asp+语法教程(六)数据库篇

ASP+配置 — ASP+配置概念(三)

ASP+配置 — ASP+配置概念(三)
下拉加载更多内容 ↓