欢迎光临
我们一直在努力

Asp组件初级入门与精通系列之六-ASP教程,组件开发

建站超值云服务器,限时71元/月

错误处理

如果页面出错,而没有对错误的处理,那么页面会显示一个用户可能看不懂的错误。

在asp脚本中可以使用

on error resume next

……

if err.number<>0 then

response.write err.description

end if

但是如果组件中出错呢?这种方法可以捕获错误,但是具体的错误如何知道呢?

我们可以在组件中加入错误处理,来返回错误,这样可以容易的看到更加详细的出错信息,有助于我们排除错误。

使用err.raise, raise 被用来生成运行时错误

打开vb6,新建activex dll工程。工程名修改为fcom,类名修改为fc6

option explicit

public sub showerror1()

on error goto errorhandle

dim i as double

i = 1 / 0

errorhandle:

err.raise err.number, err.source, err.description

end sub

‘生成自定义的错误

public sub showerror2()

err.raise 600, "自己定义的错误600", "这是描述自己程序的错误"

end sub

ok,一个组件就写好了,点击菜单->文件->生成fcom.dll文件

确定,在目录下就会有fcom.dll文件

测试

打开visual interdev6.0,生成一个asp文件

<%@ language=vbscript %>

<html>

<body>

<%

‘下面这一句很重要

on error resume next

set obj=server.createobject("fcom.fc6")

obj.showerror1()

‘如果没有错误处理,就会产生一个出错的界面,很不专业

‘从 0–512 的范围保留为系统错误;从 513–65535 的范围可以用做用户定义的错误。

‘如果是保留错误,那么组件内错误号和页面处理的错误号是相一致的

if err.number <>0 then

response.write "错误信息" & err.number & err.description

end if

response.write "<br>"

‘如果是用户定义的错误,那么在页面中可以分别进行处理

obj.showerror2()

if err.number<>0 then

if err.number =600 then

response.write err.number & err.source & err.description

end if

end if

%>

</body>

</html>

配置好虚拟目录,在ie中执行此asp文件,得到结果如下:

错误信息11除数为零

600自己定义的错误600这是描述自己程序的错误

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Asp组件初级入门与精通系列之六-ASP教程,组件开发
分享到: 更多 (0)

相关推荐

  • 暂无文章