首页 理论教育 ASP程序设计|Err对象方法汇总

ASP程序设计|Err对象方法汇总

时间:2023-11-20 理论教育 版权反馈
【摘要】:表11-2Err 对象的方法1.Clear 方法Clear 方法用来从一个Err 对象中删除一个错误,即把这个错误当作没有发生一样。图11-6利用Err 对象的Clear 方法的结果由于该程序只产生了一个错误(除零错),因此当执行了Clear 方法后,就不会再执行错误检查代码,即程序认为没有了错误。如果使用Raise而不指定一些参数,并且Err 对象的属性设置含有未清除的值,则可视这些值为错误的值。

ASP程序设计|Err对象方法汇总

Err对象包括两个方法,可以用来操作Err对象见表11-2。

表11-2 Err 对象的方法

1.Clear 方法

Clear 方法用来从一个Err 对象中删除一个错误,即把这个错误当作没有发生一样。把例11-2 修改一下,来看看结果会有什么变化。代码见例11-5。

例11-5

通过浏览器运行该程序,输出结果就是“No Problem”,如图11-6所示。

图11-6 利用Err 对象的Clear 方法的结果

由于该程序只产生了一个错误(除零错),因此当执行了Clear 方法后,就不会再执行错误检查代码,即程序认为没有了错误。所以在浏览器中出现了“No Problem”的结果。

2.Raise 方法

Raise则提供了产生自定义错误的方法。有两个原因,可能在程序中需要使用该方法:

当某个错误出现时,希望产生一个自定义的错误检查在程序代码中发生的问题。比如,希望有一个错误来报告与数据库连接失败,然后在程序中测试如何响应这个错误。

当希望从程序的一个过程中返回一个定制的错误时需要使用。比如,在程序中有一个过程,该过程从一个全名中提取名字,可能会通过检测全名中的空格来寻找名字,因为在空格前的所有内容都认为是一个人的名字,如果没有找到空格,就希望返回一个错误。

Raise 方法的语法如下:

Raise 方法的各个参数描述见表11-3。

表11-3 Raise 方法的参数

(续表)

(www.xing528.com)

除了Number之外,所有参数都是可选的。如果使用Raise而不指定一些参数,并且Err 对象的属性设置含有未清除的值,则可视这些值为错误的值。

下面的代码建立一个函数,该函数可以从一个全名中解析出名字,要求是姓名之间要有空格,而且名在前,姓在后。如果姓名之间没有空格,即在全名中没找到空格,就认为只有名没有姓,全名不完整,就会产生一个定制错误。如果姓名之前有空格,就返回名字。

例11-6:

这个程序由于姓名之间没有空格,因此必然会出现程序中定制的错误,如图11-7所示。

图11-7 利用Err 对象的Raise 方法定制一个错误

如果把例11-6中语句Response.write FirstNam(e"Tom")中的“Tom”改为“Tom Jack”,也就是说再加一个姓,代码见例11-7。

例11-7:

这时,程序就不会出现定制的错误,通过浏览器可以看到输出的名字,如图11-8所示。

图11-8 解析出名字的结果

下面对例11-6和例11-7部分语句进行解释。

Option Explicit 语句和On Error Resume Next语句表示编译器如果有错误,就继续执行下一行语句。

Response.Write FirstName("Tom")语句表示调用FirstName函数,参数为“Tom”,然后把输出结果写到浏览器上。

接下面的IF代码块,是处理错误的代码,并把发生的错误信息写到浏览器上。

这个程序中,最重要的是自定义的函数FirstName。

在这个函数中使用InStr 函数来检查参数FullName 中有没有空格,如果没有空格,InStr函数将会返回零,然后进入IF 代码块中,使用Err 对象的Raise 方法建立一个定制的错误:错误代码为vbObjectError+22,其中vbObjectError 是一个VBScipte 中的常数,错误的程序名为"MyFunction.FirstName",错误的类型和说明为"The FullName parameter of this function must contain a space!",这里没有提供帮助文件和帮助主题。

如果没有错误,则名字从全名中解析出来,全名中在空格之后的字符都被丢掉。

例11-6 传递给函数的参数中没有空格,所以错误将发生,这个提示可以从图11-7中看出,例11-7 传递给函数的参数中有空格,所以将把名字输出到浏览器,这点可以从图11-8看出。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈