通过设置可以改变IIS 采用的默认处理错误代码程序,但这也仅仅提供某一个错误更友好的、更容易理解的提示。所以,在实际操作的时候,通常自己编写代码来检查错误,然后根据该错误采取适当的处理方法。
如果想在ASP程序中处理错误代码,那么就要使用On Error 语句,并将该语句放在Option Explicit语句后,其他所有的代码之前。On Error 语句语法如下:
这条语句是说明如果一行代码产生一个错误,就跳过该行代码而继续执行下面的语句,后面的语句代码就可以用来处理该错误。下面以一个例子来说明,代码如下:
例11-1:
下面,将对上面的代码进行一些必要的解释。
Option Explict:用来要求所有的变量在使用之前必须声明。
On Error 语句:该语句的作用是如果有错误发生,不需要编译器做任何处理,希望代码跳到下一条语句。
Dim x:声明一个变量,用来保存除法的结果。
下面接着给x 赋值,用到了QueryString 集合传递的两个参数(Num1、Num2),然后将两个数相除的结果保存在变量x 中。由于这是一句可能出错的代码,因此下面的语句将对一些错误进行判断,并显示相应的错误信息。如果真有一个错误发生在该行,编译器会继续下一行,因为使用了On Error 语句。(www.xing528.com)
这里利用Err对象的Number属性来检查一个错误。如果没有发生错误,Err对象的Number的值就会设为零,否则该属性会保存所发生的错误号,这样就可以通过该属性的值是不是为零,来判断有没有错误发生:
当Err 对象的Number属性值为11,这意味着QueryString集合提供的第二个参数(Num2)为零,即产生了除零错,然后就显示“You can't divide by zero.Please try again。”
当Err对象的Number属性值为6,这是一个溢出错误,意味着QueryString集合提供的参数有一个或两个没有传递到,然后显示“You need to provide both number for this text.Please again。”
当Err 对象的Number 属性值为13,这是一个类型不匹配的错误,这说明QueryString 集合提供的参数传递了一个非数值的值,然后将显示“Only numbers are allowed.Please again。”
当然,还可能出现其他类型的错误,这里不再具体分析,程序中使用一条通用的消息通知访问者“An unexpected all allow.Please try again。We are working on the problem,please try again later。”
然后程序就停止处理下面的代码,直到有正确的输入。
如果输入正确,下面的代码将被执行,就可以看到除法结果:
下图就是在没有任何输入,即没有任何参数传递给该程序的输出结果如图11-3所示。
图11-3 错误处理代码的输出结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。