合理使用asp错误代码
在ASP程序开发过程中,合理处理错误能极大提升用户体验。以之前的例子来说,通过在文件头部添加on error resume next
语句,并判断执行进程中的IIS错误代码,我们可以为用户提供更友好的反馈。
一、代码示例及解析
<!--#include file="conn.asp"-->
<%
on error resume next
' 创建一个名为reason的表,包含学院名、分析日期及三个原因字段
conn.execute("CREATE TABLE reason(学院名 varchar(20),分析日期 varchar(50),原因1 varchar(255),原因2 varchar(255),原因3 varchar(255))")
' 判断是否出现错误代码500,如果是,说明可能已经执行过此表创建操作,即已经升级过
if conn.err = 500 then
response.write("<script>alert('已经升级过了')</script>")
response.end()
End if
' 对tdd表进行修改,添加户口迁移字段,删除校区字段
conn.execute("alter table tdd add [户口迁移] text(4) ")
conn.execute("alter table tdd drop [校区] ")
' 对logo表进行一系列操作,添加临时中转字段lqh_temp,复制lqh字段数据到该临时字段,删除lqh字段,添加学号字段并将临时字段数据复制到学号字段,最后删除临时字段
conn.execute("alter table [logo] add [lqh_temp] text(50)")
conn.execute("update [logo] Set lqh_temp=[lqh] ")
conn.execute("alter table [logo] drop [lqh]")
conn.execute("alter table [logo] add [学号] text(50)")
conn.execute("update [logo] Set 学号=[lqh_temp]")
conn.execute("alter table [logo] drop lqh_temp")
' 删除tdd表中的lqh字段
conn.execute("alter table [tdd] drop lqh")
' 如果所有操作没有触发特定错误,提示用户升级成功
response.write("<script>alert('升级成功')</script>")
response.end()
%>
在这段代码中,on error resume next
语句使程序在遇到错误时不会立即停止执行,而是继续执行下一行代码。这为后续的错误判断提供了基础。当执行conn.execute
语句创建或修改数据库表时,如果出现错误,conn.err
会记录错误代码。通过判断conn.err
是否等于特定的错误代码,如这里的500
,我们可以针对不同的错误情况给用户相应的提示。
二、常见IIS错误代码及含义
200 - 确定 此状态代码表示IIS已成功处理请求
400 - 错误的请求
401 - 访问被拒绝
500 - 内部服务器错误
500.12 - 应用程序正忙于在Web服务器上重新启动
500.13 - Web服务器太忙
500.15 - 不允许直接请求Global.asa
500.16 - UNC授权凭据不正确(IIS6.0专有)
500.18 - URL授权存储不能打开(IIS6.0专有)
500.100 - 内部ASP错误
这些常见的IIS错误代码为我们在ASP程序中进行错误处理提供了重要依据。例如,当用户访问的请求格式不正确时,可能会返回400 - 错误的请求
;而当服务器内部出现问题时,可能会返回500 - 内部服务器错误
。在实际开发中,合理利用这些错误代码,我们可以根据不同的错误情况,给用户提供更准确、更人性化的反馈,从而使ASP程序更加健壮。
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »