ASP应用进阶 ASP Error对象的相关知识(7)_ASP教程
推荐:实例详解ASP中断开记录集的使用方法我们在使用ASP 内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多数情况下连接打开的时间要比它需要打开的时间长得多。因此为
err对象使用的时候不需要创建实例,就是说你要用的时候随便拿来使用,就像session一样,不需要像ADODB对象使用的时候Setconn=Server.CreateObject("ADODB.Connection")来创建实例,它返回一个错误代码,但是Err!=Err.Number,可以用Clear方法清除,以利于下次使用.它主要的是个Description方法,返回的是简要错误说明,这里一个很经典的例子:
<%@LANGUAGE="VBscript"%> <%Response.Buffer=True OnErrorResumeNext %> <% s="sa" response.write(Int(s)) IfErr.Number<>0Then Response.Clear response.write"发生错误:"%> <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> 错误Number:<%=Err.Number%><br/> 错误信息:<%=Err.Description%><br/> 出错文件:<%=Err.Source%><br/> 出错行:<%=Err.Line%><br/> <%=Err%> </BODY> </HTML> <%EndIf%> |
运行一看,呓,Err.Line为空,为啥?因为asp的vb编写的里面line方法不被支持,这是一个废的属性在vb里面.jscript的支持,要研究的去catch.
值得注意的是要使用err对象的时候,必须加上OnErrorResumeNext,原来越过asperror对象的异常抛出.
在链接数据库的时候可以使用error对象:Count属性:用来统计Errors集合的数目,Item方法:用来指定特定的一个错误,语法为Error.Item(number),其中number为一数字。由于Item为默认的方法,所以Error(number)的写法与前面的写法是等价的。下面是一段程序。用来列举Error对象:
<% OnErrorResumenext Setconn=Server.CreateObject("ADODB.Connection") Dimi,your_databasepath:your_databasepath="no.mdb" connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&server.mappath(your_databasepath)&"" conn.openconnstr ifconn.errors.count<>0then response.write"链接数据库失败<hr/>" fori=0toconn.errors.count-1 response.writeconn.errors.item(i)&"<hr>" response.writeErr.Description next else response.write"链接数据库成功" endif conn.close %> |
没啥差别和err对象,看到比较结果了么?寒死了,直接用err对象简单.
一般建议在调试的时候用asperror对象,就是把OnErrorResumenext这行rem了,就默认用asperror抛出了.在正式运行的时候,除非特殊要求,可以使用err对象做点事情.
分享:请注意!常见的ASP脚本攻击及防范技巧由于ASP的方便易用,越来越多的网站后台程序都使用ASP脚本语言。但是, 由于ASP本身存在一些安全漏洞,稍不小心就会给黑客提供可乘之机。事实上,安全不仅是网管的事,编程人员也必须在某些安全
- 相关链接:
- 教程说明:
ASP教程-ASP应用进阶 ASP Error对象的相关知识(7)。