江湖论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9077|回复: 68

ASP错误代码中文说明大全

[复制链接]

210

主题

61

回帖

2138

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2138
发表于 2020-5-3 19:42:09 | 显示全部楼层 |阅读模式
ASP 错误代码 中文描述
ASP 0100 内存不足
ASP 0101 意外错误
ASP 0102 需要字符串输入
ASP 0103 需要数字输入
ASP 0104 不允许此项操作
ASP 0105 下标越界
ASP 0106 类型不匹配
ASP 0107 堆栈溢出
ASP 0108 创建对象失败
ASP 0109 找不到成员
ASP 0110 未知名称
ASP 0111 未知接口
ASP 0112 缺少参数
ASP 0113 脚本超时
ASP 0114 非自由线程对象
ASP 0115 意外错误
ASP 0116 丢失脚本关闭分隔符
ASP 0117 丢失脚本关闭标记
ASP 0118 丢失对象关闭标记
ASP 0119 丢失 Classid 或 Progid 特性
ASP 0120 无效的 Runat 特性
ASP 0121 对象标记中包含无效作用域
ASP 0122 对象标记中包含无效作用域
ASP 0123 丢失 Id 特性
ASP 0124 丢失 Language 特性
ASP 0125 丢失特性的关闭符
ASP 0126 找不到包含文件
ASP 0127 丢失了 HTML 注释的关闭符
ASP 0128 丢失 File 或 Virtual 特性
ASP 0129 未知的脚本语言
ASP 0130 无效的 File 特性
ASP 0131 不允许的父路径
ASP 0132 编译错误
ASP 0133 无效的 ClassID 特性
ASP 0134 无效的 ProgID 特性
ASP 0135 循环包含
ASP 0136 无效对象实例名称
ASP 0137 无效全局脚本
ASP 0138 嵌套的 Script 块
ASP 0139 嵌套的 Object
ASP 0140 Page 命令无序
ASP 0141 Page 命令重复
ASP 0142 线程令牌错误
ASP 0143 无效的应用程序名
ASP 0144 初始化错误
ASP 0145 新建应用程序失败
ASP 0146 新建会话失败
ASP 0147 500 服务器错误
ASP 0148 服务器太忙
ASP 0149 应用程序正在重新启动
ASP 0150 应用程序目录错误
ASP 0151 更改通知错误
ASP 0152 安全错误
ASP 0153 线程错误
ASP 0154 写入 HTTP 头错误
ASP 0155 写入页内容错误
ASP 0156 标头错误
ASP 0157 缓冲已打开
ASP 0158 丢失 URL
ASP 0159 缓冲已关闭
ASP 0160 日志记录失败
ASP 0161 数据类型错误
ASP 0162 不能修改 Cookie
ASP 0163 逗号的使用不正确
ASP 0164 无效的超时值
ASP 0165 SessionID 错误
ASP 0166 未初始化的对象
ASP 0167 会话初始化错误
ASP 0168 不允许的对象使用方式
ASP 0169 丢失对象信息
ASP 0170 删除会话错误
ASP 0171 缺少路径
ASP 0172 无效路径
ASP 0173 无效 Path 字符
ASP 0174 无效 Path 字符
ASP 0175 不允许的 Path 字符
ASP 0176 找不到路径
ASP 0177 Server.CreateObject 失败
ASP 0178 Server.CreateObject 访问错误
ASP 0179 应用程序初始化错误
ASP 0180 不允许的对象使用方式
ASP 0181 无效线程模型
ASP 0182 丢失对象信息
ASP 0183 空 Cookie 关键字
ASP 0184 丢失 Cookie 名称
ASP 0185 丢失默认属性
ASP 0186 解析证书时出错
ASP 0187 对象添加冲突
ASP 0188 不允许的对象使用方式
ASP 0189 不允许的对象使用方式
ASP 0190 意外错误
ASP 0191 意外错误
ASP 0192 意外错误
ASP 0193 OnStartPage 失败
ASP 0194 OnEndPage 失败
ASP 0195 无效服务器方法调用
ASP 0196 不能启动进程外组件
ASP 0197 不允许的对象使用方式
ASP 0198 服务器正在关闭
ASP 0199 不允许的对象使用方式
ASP 0200 'Expires' 特性越界
ASP 0201 无效的默认脚本语言
ASP 0202 丢失代码页
ASP 0203 无效代码页
ASP 0204 CodePage 值无效
ASP 0205 更改通知
ASP 0206 不能调用 BinaryRead
ASP 0207 不能使用 Request.Form
ASP 0208 不能使用一般 Request 集合
ASP 0209 TRANSACTION 属性值非法
ASP 0210 方法未实现
ASP 0211 对象越界
ASP 0212 不能清除缓冲区
ASP 0214 无效路径参数
ASP 0215 ENABLESESSIONSTATE 属性值非法
ASP 0216 MSDTC 服务不在运行
ASP 0217 对象标记中包含无效作用域
ASP 0218 丢失 LCID
ASP 0219 无效的 LCID
ASP 0220 不允许 GLOBAL.ASA 请求
ASP 0221 无效的 @ 命令指令
ASP 0222 无效 TypeLib 规格
ASP 0223 未找到 TypeLib
ASP 0224 无法加载 TypeLib
ASP 0225 无法包装 TypeLibs
ASP 0226 不能修改 StaticObjects
ASP 0227 Server.Execute 失败
ASP 0228 Server.Execute 错误
ASP 0229 Server.Transfer 失败
ASP 0230 Server.Transfer 错误
ASP 0231 Server.Execute 错误
ASP 0232 无效的 Cookie 规格
ASP 0233 无法加载 cookie 脚本源
ASP 0234 无效的包含指令
ASP 0235 Server.Transfer 错误
ASP 0236 无效的 Cookie 规格
ASP 0237 无效的 Cookie 规格
ASP 0238 丢失特性值
ASP 0239 无法处理文件
ASP 0240 脚本引擎异常
ASP 0241 CreateObject 异常
ASP 0242 查询 OnStartPage 接口异常
ASP 0243 Global.asa 中包含无效的 METADATA 标记
ASP 0244 无法启用会话状态
ASP 0245 代码页值的混合使用
ASP 0246 并发用户太多。请稍后重试。
ASP 0247 无效的 BinaryRead 参数。
ASP 0248 脚本未经事务处理。此 ASP 文件必须经过事务处理以使用 ObjectContext 对象。
ASP 0249 不能在 Request 上使用 IStream。使用 Request.Form 集合或 Request.BinaryRead 后不能在 Request 对象上使用 IStream。
ASP 0250 无效默认代码页。指定的应用程序默认代码页无效。
ASP 0251 超过响应缓冲区限制。此 ASP 页的执行造成响应缓冲区超过其配置限制。



Microsoft VBScript语法错误(0x800A03E9)-->内存不足
Microsoft VBScript语法错误(0x800A03EA)-->语法错误
Microsoft VBScript语法错误(0x800A03EB)-->缺少 ':'
Microsoft VBScript语法错误(0x800A03ED)-->缺少 '('
Microsoft VBScript语法错误(0x800A03EE)-->缺少 ')'
Microsoft VBScript语法错误(0x800A03EF)-->缺少 ']'
Microsoft VBScript语法错误(0x800A03F2)-->缺少标识符
Microsoft VBScript语法错误(0x800A03F3)-->缺少 '='
Microsoft VBScript语法错误(0x800A03F4)-->缺少 'If'
Microsoft VBScript语法错误(0x800A03F5)-->缺少 'To'
Microsoft VBScript语法错误(0x800A03F6)-->缺少 'End'
Microsoft VBScript语法错误(0x800A03F7)-->缺少 'Function'
Microsoft VBScript语法错误(0x800A03F8)-->缺少 'Sub'
Microsoft VBScript语法错误(0x800A03F9)-->缺少 'Then'
Microsoft VBScript语法错误(0x800A03FA)-->缺少 'Wend'
Microsoft VBScript语法错误(0x800A03FB)-->缺少 'Loop'
Microsoft VBScript语法错误(0x800A03FC)-->缺少 'Next'
Microsoft VBScript语法错误(0x800A03FD)-->缺少 'Case'
Microsoft VBScript语法错误(0x800A03FE)-->缺少 'Select'
Microsoft VBScript语法错误(0x800A03FF)-->缺少表达式
Microsoft VBScript语法错误(0x800A0400)-->缺少语句
Microsoft VBScript语法错误(0x800A0401)-->语句未结束
Microsoft VBScript语法错误(0x800A0402)-->缺少整型常数
Microsoft VBScript语法错误(0x800A0403)-->缺少 'While' 或 'Until'
Microsoft VBScript语法错误(0x800A0404)-->缺少 'While', 'Until' 或语句未结束
Microsoft VBScript语法错误(0x800A0405)-->缺少 'With'
Microsoft VBScript语法错误(0x800A0406)-->标识符过长
Microsoft VBScript语法错误(0x800A0407)-->无效数字
Microsoft VBScript语法错误(0x800A0408)-->无效字符
Microsoft VBScript语法错误(0x800A0409)-->未结束的字符串常量
Microsoft VBScript语法错误(0x800A040A)-->注释未结束
Microsoft VBScript语法错误(0x800A040D)-->无效使用 'Me' 关键字
Microsoft VBScript语法错误(0x800A040E)-->'loop' 语句缺少 'do'
Microsoft VBScript语法错误(0x800A040F)-->无效的 'exit' 语句
Microsoft VBScript语法错误(0x800A0410)-->循环控制变量 'for' 无效
Microsoft VBScript语法错误(0x800A0411)-->名称重定义
Microsoft VBScript语法错误(0x800A0412)-->必须是行中的第一个语句
Microsoft VBScript语法错误(0x800A0413)-->不能为 non-ByVal 参数赋值
Microsoft VBScript语法错误(0x800A0414)-->调用子程序时不能使用括号
Microsoft VBScript语法错误(0x800A0415)-->缺少文字常数
Microsoft VBScript语法错误(0x800A0416)-->缺少 'In'
Microsoft VBScript语法错误(0x800A0417)-->缺少 'Class'
Microsoft VBScript语法错误(0x800A0418)-->必须在一个类的内部定义
Microsoft VBScript语法错误(0x800A0419)-->在属性声明中缺少 Let , Set 或 Get
Microsoft VBScript语法错误(0x800A041A)-->缺少 'Property'
Microsoft VBScript语法错误(0x800A041B)-->在所有属性的规范中,变量的数目必须一致
Microsoft VBScript语法错误(0x800A041C)-->在一个类中不允许有多个缺省的属性/方法
Microsoft VBScript语法错误(0x800A041D)-->类的初始化或终止程序没有参数
Microsoft VBScript语法错误(0x800A041E)-->属性的 set 或 let 必须至少有一个参数
Microsoft VBScript语法错误(0x800A041F)-->错误的 'Next'
Microsoft VBScript语法错误(0x800A0420)-->'Default' 只能在 'Property' , 'Function' 或 'Sub' 中指定
Microsoft VBScript语法错误(0x800A0421)-->指定 'Default' 时必须同时指定 'Public' ")
Microsoft VBScript语法错误(0x800A0422)-->只能在 Property Get 中指定 'Default'
Microsoft VBScript 运行时错误(0x800A0005)-->无效的过程调用或参数
Microsoft VBScript 运行时错误(0x800A0006)-->溢出
Microsoft VBScript 运行时错误(0x800A0007)-->内存不足
Microsoft VBScript 运行时错误(0x800A0009)-->下标越界
Microsoft VBScript 运行时错误(0x800A000A)-->该数组为定长的或临时被锁定
Microsoft VBScript 运行时错误(0x800A000B)-->被零除
Microsoft VBScript 运行时错误(0x800A000D)-->类型不匹配
Microsoft VBScript 运行时错误(0x800A000E)-->字符串空间不够
Microsoft VBScript 运行时错误(0x800A0011)-->不能执行所需的操作
Microsoft VBScript 运行时错误(0x800A001C)-->堆栈溢出
Microsoft VBScript 运行时错误(0x800A0023)-->未定义过程或函数
Microsoft VBScript 运行时错误(0x800A0030)-->加载 DLL 时出错
Microsoft VBScript 运行时错误(0x800A0033)-->内部错误
Microsoft VBScript 运行时错误(0x800A0034)-->错误的文件名或号码
Microsoft VBScript 运行时错误(0x800A0035)-->文件未找到
Microsoft VBScript 运行时错误(0x800A0036)-->错误的文件模式
Microsoft VBScript 运行时错误(0x800A0037)-->文件已经打开
Microsoft VBScript 运行时错误(0x800A0039)-->设备 I/O 错误
Microsoft VBScript 运行时错误(0x800A003A)-->文件已存在
Microsoft VBScript 运行时错误(0x800A003D)-->磁盘已满
Microsoft VBScript 运行时错误(0x800A003E)-->输入超出了文件尾
Microsoft VBScript 运行时错误(0x800A0043)-->文件过多
Microsoft VBScript 运行时错误(0x800A0044)-->设备不可用
Microsoft VBScript 运行时错误(0x800A0046)-->没有权限
Microsoft VBScript 运行时错误(0x800A0047)-->磁盘没有准备好
Microsoft VBScript 运行时错误(0x800A004A)-->重命名时不能带有其他驱动器符号
Microsoft VBScript 运行时错误(0x800A004B)-->路径/文件访问错误
Microsoft VBScript 运行时错误(0x800A004C)-->路径未找到
Microsoft VBScript 运行时错误(0x800A005B)-->对象变量未设置
Microsoft VBScript 运行时错误(0x800A005C)-->For 循环未初始化
Microsoft VBScript 运行时错误(0x800A005E)-->无效使用 Null
Microsoft VBScript 运行时错误(0x800A0142)-->不能创建所需的临时文件
Microsoft VBScript 运行时错误(0x800A01A8)-->缺少对象
Microsoft VBScript 运行时错误(0x800A01AD)-->ActiveX 部件不能创建对象
Microsoft VBScript 运行时错误(0x800A01AE)-->类不能支持 Automation 操作
Microsoft VBScript 运行时错误(0x800A01B0)-->Automation 操作中文件名或类名未找到
Microsoft VBScript 运行时错误(0x800A01B6)-->对象不支持此属性或方法
Microsoft VBScript 运行时错误(0x800A01B8)-->Automation 操作错误
Microsoft VBScript 运行时错误(0x800A01BD)-->对象不支持此操作
Microsoft VBScript 运行时错误(0x800A01BE)-->对象不支持已命名参数
Microsoft VBScript 运行时错误(0x800A01BF)-->对象不支持当前区域设置
Microsoft VBScript 运行时错误(0x800A01C0)-->未找到已命名参数
Microsoft VBScript 运行时错误(0x800A01C1)-->参数是必选项
Microsoft VBScript 运行时错误(0x800A01C2)-->错误的参数个数或无效的参数属性值
Microsoft VBScript 运行时错误(0x800A01C3)-->对象不是一个集合
Microsoft VBScript 运行时错误(0x800A01C5)-->未找到指定的 DLL 函数
Microsoft VBScript 运行时错误(0x800A01C7)-->代码资源锁定错误
Microsoft VBScript 运行时错误(0x800A01CA)-->变量使用了一个 VBScript 中不支持的 Automation 类型
Microsoft VBScript 运行时错误(0x800A01CE)-->远程服务器不存在或不可用
Microsoft VBScript 运行时错误(0x800A01E1)-->无效图片
Microsoft VBScript 运行时错误(0x800A01F4)-->变量未定义
Microsoft VBScript 运行时错误(0x800A01F5)-->非法赋值
Microsoft VBScript 运行时错误(0x800A01F6)-->对象不能安全地使用 Script 编程
Microsoft VBScript 运行时错误(0x800A01F7)-->对象不能安全初始化
Microsoft VBScript 运行时错误(0x800A01F8)-->对象不能安全创建
Microsoft VBScript 运行时错误(0x800A01F9)-->无效的或无资格的引用
Microsoft VBScript 运行时错误(0x800A01FA)-->类没有被定义
Microsoft VBScript 运行时错误(0x800A01FB)-->出现一个意外错误
Microsoft VBScript 运行时错误(0x800A1398)-->缺少常规表达式对象
Microsoft VBScript 运行时错误(0x800A1399)-->常规表达式语法错误
Microsoft VBScript 运行时错误(0x800A139A)-->错误的数量词
Microsoft VBScript 运行时错误(0x800A139B)-->常规表达式中缺少 ']'
Microsoft VBScript 运行时错误(0x800A139C)-->常规表达式中缺少 ')'
Microsoft VBScript 运行时错误(0x800A139D)-->字符集越界
Microsoft VBScript 运行时错误(0x800A802B)-->未找到元素
ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件
Microsoft OLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)
Microsoft OLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
Microsoft OLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)
Microsoft OLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)
Microsoft OLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)
Microsoft OLEDBProviderforODBCDrivers(0x80004005)-->打开数据库出错,没有在指定目录发现数据库
Microsoft OLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表
ODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表/字段错误或处于编辑状态,或不存在于conn打开的数据库中)
ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作)
ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(引用了一个不存在的字段名)
ADODB.Recordset(0x800A0E7D)-->conn定义错误
ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据
ADODB.Recordset(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义



ASP错误代码

[日期:2006-04-27] 来源: 作者: [字体:大 中 小]
Active Server Pages, ASP 0126 (0x80004005) --> 找不到包含文件
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) --> sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) --> sql语句出错(字段名错误,或数据类型不匹配)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) --> sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E57) --> sql语句出错(要插入或更新的数据溢出)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) --> sql语句出错(update字段名或要更新的数据类型错误)
Microsoft OLE DB Provider for ODBC Drivers (0x80004005) --> sql语句出错(要插入或更新的字段的数值不能为空值)
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)  --> 打开数据库出错,没有在指定目录发现数据库
Microsoft OLE DB Provider for ODBC Drivers (0x80040E37) --> 没有发现表

Microsoft VBScript 运行时错误 (0x800A000D) --> 错误引用rs变量(rs对像已关闭或未定义)
Microsoft VBScript 运行时错误 (0x800A01C2) --> vbscript脚本错误(vbscript语句出错)
Microsoft VBScript 运行时错误 (0x800A0006) --> vbscript脚本错误(溢出错误)
Microsoft VBScript 编译器错误 (0x800A040E) --> 缺少loop
Microsoft VBScript 编译器错误 (0x800A03EA) --> 缺少if或end if
Microsoft VBScript 编译器错误 (0x800A03EE) --> 语句未结束(缺少")")
Microsoft VBScript 编译器错误 (0x800A03F6) --> if语句出错(缺少end if)
Microsoft VBScript 运行时错误 (0x800A005B) --> 缺少set
Microsoft VBScript 运行时错误 (0x800A0005) --> 变量未定义
Microsoft VBScript 编译器错误 (0x800A03F9) --> if语句缺少then
Microsoft VBScript 编译器错误 (0x800A0411) --> dim语句定义错误
Microsoft VBScript 编译器错误 (0x800A0408) --> sql语句错误(?????????????????)


ADODB.Recordset (0x800A0BB9) --> sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
ADODB.Recordset (0x800A0CC1) --> rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
ADODB.Recordset (0x800A0BCD) --> rs对像出错(记录集中没有记录却对记录集进行操作)
ADODB.Recordset (0x800A0E78) --> rs对像出错(记录集不存在,缺少rs.open语句)
ADODB.Recordset (0x800A0CC1) --> rs对像出错(引用了一个不存在的字段名)
ADODB.Recordset (0x800A0E7D) --> conn定义错误
ADODB.Recordset (0x800A0CB3) --> 数据库以只读方式打开,无法更新数据



ASP错误总结

-------------------------------------------------- ------------------------------

Microsoft VBScript语法错误(0x800A03E9)-->内存不足
Microsoft VBScript语法错误(0x800A03EA)-->语法错误
Microsoft VBScript语法错误(0x800A03EB)-->缺少':'
Microsoft VBScript语法错误(0x800A03ED)-->缺少'('
Microsoft VBScript语法错误(0x800A03EE)-->缺少')'
Microsoft VBScript语法错误(0x800A03EF)-->缺少']'
Microsoft VBScript语法错误(0x800A03F2)-->缺少标识符
Microsoft VBScript语法错误(0x800A03F3)-->缺少'='
Microsoft VBScript语法错误(0x800A03F4)-->缺少'If'
Microsoft VBScript语法错误(0x800A03F5)-->缺少'To'
Microsoft VBScript语法错误(0x800A03F6)-->缺少'End'
Microsoft VBScript语法错误(0x800A03F7)-->缺少'Function'
Microsoft VBScript语法错误(0x800A03F8)-->缺少'Sub'
Microsoft VBScript语法错误(0x800A03F9)-->缺少'Then'
Microsoft VBScript语法错误(0x800A03FA)-->缺少'Wend'
Microsoft VBScript语法错误(0x800A03FB)-->缺少'Loop'
Microsoft VBScript语法错误(0x800A03FC)-->缺少'Next'
Microsoft VBScript语法错误(0x800A03FD)-->缺少'Case'
Microsoft VBScript语法错误(0x800A03FE)-->缺少'Select'
Microsoft VBScript语法错误(0x800A03FF)-->缺少表达式
Microsoft VBScript语法错误(0x800A0400)-->缺少语句
Microsoft VBScript语法错误(0x800A0401)-->语句未结束
Microsoft VBScript语法错误(0x800A0402)-->缺少整型常数
Microsoft VBScript语法错误(0x800A0403)-->缺少'While' 或'Until'
Microsoft VBScript语法错误(0x800A0404)-->缺少'While', 'Until' 或语句未结束
Microsoft VBScript语法错误(0x800A0405)-->缺少'With'
Microsoft VBScript语法错误(0x800A0406)-->标识符过长
Microsoft VBScript语法错误(0x800A0407)-->无效数字
Microsoft VBScript语法错误(0x800A0408)-->无效字符
Microsoft VBScript语法错误(0x800A0409)-->未结束的字符串常量
Microsoft VBScript语法错误(0x800A040A)-->注释未结束
Microsoft VBScript语法错误(0x800A040D)-->无效使用'Me' 关键字
Microsoft VBScript语法错误(0x800A040E)-->'loop' 语句缺少'do'
Microsoft VBScript语法错误(0x800A040F)-->无效的'exit' 语句
Microsoft VBScript语法错误(0x800A0410)-->循环控制变量'for' 无效
Microsoft VBScript语法错误(0x800A0411)-->名称重定义
Microsoft VBScript语法错误(0x800A0412)-->必须是行中的第一个语句
Microsoft VBScript语法错误(0x800A0413)-->不能为non-ByVal 参数赋值
Microsoft VBScript语法错误(0x800A0414)-->调用子程序时不能使用括号
Microsoft VBScript语法错误(0x800A0415)-->缺少文字常数
Microsoft VBScript语法错误(0x800A0416)-->缺少'In'
Microsoft VBScript语法错误(0x800A0417)-->缺少'Class'
Microsoft VBScript语法错误(0x800A0418)-->必须在一个类的内部定义
Microsoft VBScript语法错误(0x800A0419)-->在属性声明中缺少Let , Set 或Get
Microsoft VBScript语法错误(0x800A041A)-->缺少'Property'
Microsoft VBScript语法错误(0x800A041B)-->在所有属性的规范中,变量的数目必须一致
Microsoft VBScript语法错误(0x800A041C)-->在一个类中不允许有多个缺省的属性/方法
Microsoft VBScript语法错误(0x800A041D)-->类的初始化或终止程序没有参数
Microsoft VBScript语法错误(0x800A041E)-->属性的set 或let 必须至少有一个参数
Microsoft VBScript语法错误(0x800A041F)-->错误的'Next'
Microsoft VBScript语法错误(0x800A0420)-->'Default' 只能在'Property' , 'Function' 或'Sub' 中指定
Microsoft VBScript语法错误(0x800A0421)-->指定'Default' 时必须同时指定'Public' ")
Microsoft VBScript语法错误(0x800A0422)-->只能在Property Get 中指定'Default'
Microsoft VBScript 运行时错误(0x800A0005)-->无效的过程调用或参数
Microsoft VBScript 运行时错误(0x800A0006)-->溢出
Microsoft VBScript 运行时错误(0x800A0007)-->内存不足
Microsoft VBScript 运行时错误(0x800A0009)-->下标越界
Microsoft VBScript 运行时错误(0x800A000A)-->该数组为定长的或临时被锁定
Microsoft VBScript 运行时错误(0x800A000B)-->被零除
Microsoft VBScript 运行时错误(0x800A000D)-->类型不匹配
Microsoft VBScript 运行时错误(0x800A000E)-->字符串空间不够
Microsoft VBScript 运行时错误(0x800A0011)-->不能执行所需的操作
Microsoft VBScript 运行时错误(0x800A001C)-->堆栈溢出
Microsoft VBScript 运行时错误(0x800A0023)-->未定义过程或函数
Microsoft VBScript 运行时错误(0x800A0030)-->加载DLL 时出错
Microsoft VBScript 运行时错误(0x800A0033)-->内部错误
Microsoft VBScript 运行时错误(0x800A0034)-->错误的文件名或号码
Microsoft VBScript 运行时错误(0x800A0035)-->文件未找到
Microsoft VBScript 运行时错误(0x800A0036)-->错误的文件模式
Microsoft VBScript 运行时错误(0x800A0037)-->文件已经打开
Microsoft VBScript 运行时错误(0x800A0039)-->设备I/O 错误
Microsoft VBScript 运行时错误(0x800A003A)-->文件已存在
Microsoft VBScript 运行时错误(0x800A003D)-->磁盘已满
Microsoft VBScript 运行时错误(0x800A003E)-->输入超出了文件尾
Microsoft VBScript 运行时错误(0x800A0043)-->文件过多
Microsoft VBScript 运行时错误(0x800A0044)-->设备不可用
Microsoft VBScript 运行时错误(0x800A0046)-->没有权限
Microsoft VBScript 运行时错误(0x800A0047)-->磁盘没有准备好
Microsoft VBScript 运行时错误(0x800A004A)-->重命名时不能带有其他驱动器符号
Microsoft VBScript 运行时错误(0x800A004B)-->路径/文件访问错误
Microsoft VBScript 运行时错误(0x800A004C)-->路径未找到
Microsoft VBScript 运行时错误(0x800A005B)-->对像变量未设置
Microsoft VBScript 运行时错误(0x800A005C)-->For 循环未初始化
Microsoft VBScript 运行时错误(0x800A005E)-->无效使用Null
Microsoft VBScript 运行时错误(0x800A0142)-->不能创建所需的临时文件
Microsoft VBScript 运行时错误(0x800A01A8)-->缺少对像
Microsoft VBScript 运行时错误(0x800A01AD)-->ActiveX 部件不能创建对像
Microsoft VBScript 运行时错误(0x800A01AE)-->类不能支持Automation 操作
Microsoft VBScript 运行时错误(0x800A01B0)-->Automation 操作中文件名或类名未找到
Microsoft VBScript 运行时错误(0x800A01B6)-->对像不支持此属性或方法
Microsoft VBScript 运行时错误(0x800A01B8)-->Automation 操作错误
Microsoft VBScript 运行时错误(0x800A01BD)-->对像不支持此操作
Microsoft VBScript 运行时错误(0x800A01BE)-->对像不支持已命名参数
Microsoft VBScript 运行时错误(0x800A01BF)-->对像不支持当前区域设置
Microsoft VBScript 运行时错误(0x800A01C0)-->未找到已命名参数
Microsoft VBScript 运行时错误(0x800A01C1)-->参数是必选项
Microsoft VBScript 运行时错误(0x800A01C2)-->错误的参数个数或无效的参数属性值
Microsoft VBScript 运行时错误(0x800A01C3)-->对像不是一个集合
Microsoft VBScript 运行时错误(0x800A01C5)-->未找到指定的DLL 函数
Microsoft VBScript 运行时错误(0x800A01C7)-->代码资源锁定错误
Microsoft VBScript 运行时错误(0x800A01CA)-->变量使用了一个VBScript 中不支持的Automation 类型
Microsoft VBScript 运行时错误(0x800A01CE)-->远程服务器不存在或不可用
Microsoft VBScript 运行时错误(0x800A01E1)-->无效图片
Microsoft VBScript 运行时错误(0x800A01F4)-->变量未定义
Microsoft VBScript 运行时错误(0x800A01F5)-->非法赋值
Microsoft VBScript 运行时错误(0x800A01F6)-->对像不能安全地使用Script 编程
Microsoft VBScript 运行时错误(0x800A01F7)-->对像不能安全初始化
Microsoft VBScript 运行时错误(0x800A01F8)-->对像不能安全创建
Microsoft VBScript 运行时错误(0x800A01F9)-->无效的或无资格的引用
Microsoft VBScript 运行时错误(0x800A01FA)-->类没有被定义
Microsoft VBScript 运行时错误(0x800A01FB)-->出现一个意外错误
Microsoft VBScript 运行时错误(0x800A1398)-->缺少常规表达式对像
Microsoft VBScript 运行时错误(0x800A1399)-->常规表达式语法错误
Microsoft VBScript 运行时错误(0x800A139A)-->错误的数量词
Microsoft VBScript 运行时错误(0x800A139B)-->常规表达式中缺少']'
Microsoft VBScript 运行时错误(0x800A139C)-->常规表达式中缺少')'
Microsoft VBScript 运行时错误(0x800A139D)-->字符集越界
Microsoft VBScript 运行时错误(0x800A802B)-->未找到元素
ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件
Microsoft OLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)
Microsoft OLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
Microsoft OLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)
Microsoft OLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)
Microsoft OLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)
Microsoft OLEDBProviderforODBCDrivers(0x80004005)-->打开数据库出错,没有在指定目录发现数据库
Microsoft OLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表
ODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表/字段错误或处于编辑状态,或不存在于conn打开的数据库中)
ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作)
ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(引用了一个不存在的字段名)
ADODB.Recordset(0x800A0E7D)-->conn定义错误
ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据
ADODB.Recordset(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义)
---------------------------------------
大部分的ADO的错误码对应的含义
除了在Error 对像和Errors 集合中说明的提供者错误之外,ADO 本身也将错误返回到
运行时环境的异常处理机制之中。 使用编程语言的错误捕获机制(如Microsoft?
Visual Basic? 中的On Error 语句)可捕获及处理下列错误。 下表将同时显示十
进制和十六进制错误代码值。

常量名称编号说明
adErrInvalidArgument 3001 0x800A0BB9 应用程序使用的参数其类型错误、超出可接受
的范围或者与其他参数冲突。
adErrNoCurrentRecord 3021 0x800A0BCD BOF 或EOF 为True,或者当前记录已经删除
。 应用程序请求的操作需要当前记录。
adErrIllegalOperation 3219 0x800A0C93 应用程序请求的操作不允许出现在该上下文
中adErrInTransaction 3246 0x800A0CAE 在事务中应用程序无法显式关闭
Connection 对象。
adErrFeatureNotAvailable 3251 0x800A0CB3 提供者不支持应用程序请求的操作。
adErrItemNotFound 3265 0x800A0CC1 ADO 无法在对应于应用程序请求的名称或顺序引
用的集合中找到对象。
adErrObjectInCollection 3367 0x800A0D27 无法追加,对像已经在集合中。
adErrObjectNotSet 3420 0x800A0D5C 应用程序引用的对象不再指向有效的对象。
adErrDataConversion 3421 0x800A0D5D 应用程序使用了不符合对当前操作的值类型。
adErrObjectClosed 3704 0x800A0E78 如果对像关闭,则不允许应用程序请求的操作。
adErrObjectOpen 3705 0x800A0E79 如果对像打开,则不允许应用程序请求的操作。
adErrProviderNotFound 3706 0x800A0E7A ADO 找不到指定的提供者。
adErrBoundToCommand 3707 0x800A0E7B 应用程序无法用Command 对像将Recordset
对象的ActiveConnection 属性更改为它的来源数据。
adErrInvalidParamInfo 3708 0x800A0E7C 应用程序错误地定义了Parameter 对象。
adErrInvalidConnection 3709 0x800A0E7D 应用程序通过引用关闭或无效的
Connection 对像来请求对对象的操作。

************************************************** ***************************
ASP错误代码说明
错误代码错误消息说明
ASP0100 Out of memory 内存不足(不能分配要求的内存
ASP0101 Unexpected error 意外错误
ASP0102 Expecting string input 缺少字符串输入
ASP0103 Expecting numeric input 缺少数字输入
ASP0104 Opration not allowed 操作不允许
ASP0105 Index out of ange 索引超出范围(一个数组索引超届)
ASP0106 Type Mismatch 类型不匹配(遇到的数据类型不能被处理)
ASP0107 Stack Overflow 栈溢出(正在处理的数据超出了允许的范围)
ASP0115 Unexpected error 意外错误(外部对像出现可捕获的exception_name错误,脚
本不能继续运行)
ASP0177 Server.CreateObject Failed 服务器创建对像失败(无效的progid)
ASP0190 Unexpected error 意外错误(当释放外部对象,产生可捕获的错误)
ASP0191 Unexpected error 意外错误(在外部对象的OnStartPage方法中产生可捕获的错
误)
ASP0192 Unexpected error 意外错误(在外部对象的OnEndPage方法中产生可捕获的错误
发信人: longsi——现代速龙(时速200公里),信区:X-COM基地
ASP0177 Server.CreateObject Failed 服务器创建对像失败(无效的progid)
发信站: 侏罗纪公园(2050年2月31日18:30:00 星期六),站内信件获的错误)
ASP0191 Unexpected error 意外错误(在外部对象的OnStartPage方法中产生可捕获的错
误)
ASP0192 Unexpected error 意外错误(在外部对象的OnEndPage方法中产生可捕获的错误
)
ASP0193 OnStartPage Failed 在外部对象的OnStartPage方法中产生错误
ASP0194 OnEndPage Failed 在外部对象的OnEndPage方法中产生错误
ASP0240 Script Engine Exception 脚本引擎从object_name对像中抛出exception_anme
异常
ASP0241 CreateObject Exception object_name 对象的CreatObject方法引起了excepti
on_name异常
ASP0242 Query OnStartPage nterface 查询对像Object_name的OnsException

**********************************************
JScript 运行时错误
JScript 运行时错误是指当JScript 脚本试图执行一个系统不能运行的动作时导致的错
误。 当正在运行脚本、计算变量表达式、或者正在动态分配内存时出现JScript 运行时
错误时。
以下是76个运行时错误

错误号描述
十进制十六进制说明
5 800A0005 非法过程调用或参数
6 800A0006 溢出
7 800A0007 内存不足
9 800A0009 下标超界
10 800A000A 此数组被固定或临时锁定
11 800A000B 零除错误
13 800A000D 类型失配
14 800A000E 串空间不足
17 800A0011 不能执行所请求的操作
28 800A001C 栈空间不足
35 800A0023 子过程或函数未找到
48 800A0030 装载DLL出错
51 800A0033 内部出错
52 800A0034 坏文件名或数
53 800A0035 文件未找到
54 800A0036 坏文件模式
55 800A0037 文件已经打开
57 800A0039 设备I/O错误
58 800A003A 文件已经存在
61 800A003D 磁盘空间已满
62 800A003E 输入超出文件尾
67 800A0043 文件太多
68 800A0044 设备不可用
70 800A0046 权限禁用
71 800A0047 磁盘未准备好
74 800A004A 不能用不同的驱动重命名
75 800A004B 路径/文件访问错误
76 800A004C 路径未找到
91 800A005B 对像变量或With块变量未设置
92 800A005C For循环未初始化
94 800A005E Null使用无效
322 800A0042 不能建立所需的临时文件
424 800A01A8 需要对像
429 800A01A9 Automation服务器不能建立对像
430 800A01AE 类不支持Automation
432 800A01B0 在Automation操作中找不到文件名或类名
438 800A01B6 对像不支持这个属性或方法
440 800A01B8 Automation错误
445 800A01BD 对像不支持这个动作
446 800A01BE 对像不支持指定的参数
447 800A01BF 对像不支持当前区域设置
448 800A01C0 指定的参数未找到
449 800A01C1 参数不可选
450 800A01C2 错误的参数数目或非法属性分配
451 800A01C3 对像不是一个集合
453 800A01C5 指定的dll函数未找到
458 800A01CA 变量使用了一个Jscript不支持的Automation类型
462 800A01CE 远程服务器机器不存在或不可用
501 800A01F5 不能分配给变量
502 800A01F6 对像对于脚本不安全
503 800A01F7 对像对于初始化不安全
504 800A01F8 对像对建立不安全
5000 800A1388 不能分配给「this」
5001 800A1389 需要Number 类型
5002 800A138A 需要Function 对像
5003 800A138B 不能给函数返回值赋值
5004 800A138C 不能索引对像
5005 800A138D 需要String
5006 800A138E 需要Date 对像
5007 800A138F 需要Object 类型
5008 800A1390 非法赋值
5009 800A1391 未定义标识符
5010 800A1392 需要Boolean
5011 800A1393 不能执行来自一个自由脚本的代码
5012 800A1394 需要对象的成员
5013 800A1395 需要VBArray
5014 800A1396 需要JScript 对像
5015 800A1397 需要Enumerator 对像
5016 800A1398 需要正则表达式对像
5017 800A1399 正则表达式语法错误
5018 800A139A 未预期的限定符
5019 800A139B 正则表达式中缺少「]」
5020 800A139C 正则表达式中缺少「)」
5021 800A139D 字符集范围无效
5022 800A139E 异常抛出,但无法抓住
5023 800A139F 函数没有合法的Prototype (原型)对像
5024 800A13A0 待解码的URI 包含有非法字符
5025 800A13A1 待解码的URI 编码非法
5026 800A13A2 小数部分的位数越界
5027 800A13A3 精度越界
5028 800A13A4 需要Array 或arguments 对像
5029 800A13A5 数组长度必须为一有限正整数
5030 800A13A6 必须赋给数组长度一个有限正数

************************************************** *****
jscript错误代码及相应解释大全
JScript 语法错误
JScript 语法错误是指当JScript 语句违反了JScript 脚本语言的一条或多条语法规
则时导致的错误。 JScript 语法错误发生在程序编译阶段,在开始运行该程序之前。 (
错误发生在开发过程中),以下是32个语法错误

错误号描述
十进制十六进制说明
1001 800A03E9 内存不足
1002 800A03EA 语法错误
1003 800A03EB 需要「:」
1004 800A03EC 需要「;」
1005 800A03ED 需要「(」
1006 800A03EE 需要「)」
1007 800A03EF 需要「]」
1008 800A03F0 需要「{」
1009 800A03F1 需要「}」
1010 800A03F2 需要标识符
1011 800A03F3 需要「=」
1012 800A03F4 需要「/」
1013 800A03F5 无效数
1014 800A03F6 非法字符
1015 800A03F7 字符串常数未结束
1016 800A03F8 注释未结束
1018 800A03FA 函数外有』return』 语句
1019 800A03FB 在循环外不能有「break」
1020 800A03FC 在循环外不能有「continue」
1023 800A03FF 需要十六进制数
1024 800A0400 需要「while」
1025 800A0401 标签定义重复
1026 800A0402 未找到标签
1027 800A0403 一条「switch」 语句中只能有一个「default」
1028 800A0404 需要标识符、字符串或者数字
1029 800A0405 需要「@end」
1030 800A0406 条件编译已关闭
1031 800A0407 需要常数
1032 800A0408 需要「@」
1033 800A0409 需要「catch」
1034 800A040A 需要「var」
1035 800A040B 「Throw」的后面必须跟有一个表达式,且在同一源代码行上

************************************************** **********************
VBScript 运行时错误
如果VBScript 脚本执行系统无法实施的操作,则会产生VBScript 运行时错误。 只有
在运行脚本、为变量表达式赋值或
分配内存时,才会产生VBScript 运行时错误。 以下是65个运行时错误:
错误编号描述
十进制十六进制说明
5 800A0005 无效过程调用或参数
6 800A0006 溢出
7 800A0007 内存不足
9 800A0009 下标越界
10 800A000A 该数组为定长的或临时被锁定
11 800A000B 被零除
13 800A000D 类型不匹配
14 800A000E 字符串空间溢出
17 800A0011 无法执行请求的操作
28 800A001C 堆栈溢出
35 800A0023 未定义Sub 或Function
48 800A0030 加载DLL 错误
51 800A0033 内部错误
52 800A0034 坏文件名或数
53 800A0035 文件未找到
54 800A0036 坏文件模式
55 800A0037 文件已经打开
57 800A0039 设备I/O错误
58 800A003A 文件已经存在
61 800A003D 磁盘空间已满
62 800A003E 输入超出文件尾
67 800A0043 文件太多
68 800A0044 设备不可用
70 800A0046 权限禁用
71 800A0047 磁盘未准备好
74 800A004A 不能用不同的驱动器重新命名
75 800A004B 路径/文件访问错误
76 800A004C 路径未找到
91 800A005B 未设置对像变量
92 800A005C For 循环未初始化
94 800A005E 非法使用Null
322 800A0142 不能建立所需临时文件
424 800A01A8 需要对像
429 800A01AD ActiveX 部件无法创建对像
430 800A01AE 类不支持自动化
432 800A01B0 在自动化操作中未找到文件名或类名
438 800A01B6 对像不支持该属性或方法
440 800A01B8 Automation错误
445 800A01BD 对像不支持此操作
446 800A01BE 对像不支持指定的参数
447 800A01BF 对像不支持当前的区域设置
448 800A01C0 未找到命名参数
449 800A01C1 参数不可选
450 800A01C2 错误的参数个数或无效的参数属性值
451 800A01C3 对像不是一个集合
453 800A01C5 指定的dll函数未找到
455 800A01C7 代码源锁错误
457 800A01C9 这个键已经是本集合的一个元素关联
458 800A01CA 变量使用了一个VBScript 中不支持的自动化(Automation)类型
462 800A01CE 远程服务器不存在或不能访问
481 800A01E1 无效图片
500 800A01F4 变量未定义
501 800A01F5 违法的分配
502 800A01F6 脚本对像不安全
503 800A01F7 对像不能安全初始化
504 800A01F8 对像不能安全创建
505 800A01F9 无效的或不合格的引用
506 800A01FA 类未被定义
507 800A01FB 发生异常
5016 800A1398 需要正则表达式对像
5017 800A1399 正则表达式中的语法错误
5018 800A139A 错误的数量词
5019 800A139B 在正则表达式中需要']'
5020 800A139C 在正则表达式中需要')'
5021 800A139D 字符集越界
32811 800A802B 元素未找到

************************************************** ************
vbscript错误代码及对应解释大全
VBScript 语法错误
如果VBScript 语句结构违反了一个或多个VBScript 脚本语言语法规则,就会产生
VBScript 语法错误。
错误通常在执行程序前,编译程序时产生。 以下是53个语法错误:
错误编号描述
十进制十六进制说明
1001 800A03E9 内存不足
1002 800A03EA 语法错误
1003 800A03EB 缺少「:」
1005 800A03ED 需要'('
1006 800A03EE 需要')'
1007 800A03EF 缺少「]」
1010 800A03F2 需要标识符
1011 800A03F3 需要'='
1012 800A03F4 需要'If'
1013 800A03F5 需要'To'
1014 800A03F6 需要'End'
1015 800A03F7 需要'Function'
1016 800A03F8 需要'Sub'
1017 800A03F9 需要'Then'
1018 800A03FA 需要'Wend'
1019 800A03FB 需要'Loop'
1020 800A03FC 需要'Next'
1021 800A03FD 需要'Case'
1022 800A03FE 需要'Select'
1023 800A03FF 需要表达式
1024 800A0400 需要语句
1025 800A0401 需要语句的结束
1026 800A0402 需要整数常数
1027 800A0403 需要'While' 或'Until'
1028 800A0404 需要'While,'、 'Until,' 或语句未结束
1029 800A0405 需要'With'
1030 800A0406 标识符太长
1031 800A0407 无效的数
1032 800A0408 无效的字符
1033 800A0409 未结束的串常量
1034 800A040A 未结束的注释
1037 800A040D 无效使用关键字'Me'
1038 800A040E 'loop' 没有'do'
1039 800A040F 无效'exit' 语句
1040 800A0410 无效'for' 循环控制变量
1041 800A0411 名称重定义
1042 800A0412 必须为行的第一个语句
1043 800A0413 不能赋给非Byval参数
1044 800A0414 调用Sub 时不能使用圆括号
1045 800A0415 需要文字常数
1046 800A0416 需要'In'
1047 800A0417 需要'Class'
1048 800A0418 必须在一个类的内部定义
1049 800A0419 在属性声明中需要Let , Set 或Get
1050 800A041A 需要'Property'
1051 800A041B 参数数目必须与属性说明一致
1052 800A041C 在类中不能有多个缺省的属性/方法
1053 800A041D 类初始化或终止不能带参数
1054 800A041E Property Let 或Set 至少应该有一个参数
1055 800A041F 不需要的'Next'
1056 800A0420 只能在『Property』 或』Function』 或』Sub』 上指定』Default 』
1057 800A0421 说明'Default' 必须同时说明'Public' "
1058 800A0422 只能在Property Get 中指定'Default


错误处理能够让您的应用程式更加合理,很多个用asp编写的商业网站,大多数都忽略了错误处理。

asp有三种主要的错误类型:
编译错误:
这种错误出现一般都是代码的语法问题。因为编译错误而导致辞asp停止运行。
运行错误
这个错误是发生在您准备运行asp时的。例如:假如您试图给一个变量赋值,但是却超出了该变量允许的范围。
逻辑错误
逻辑错误是最难被发现的,这种错误经常是一种结构错误,电脑是发现不了的。这就需要我们彻头彻尾地检查我们的代码。
因为编译错误一般是和逻辑错误一起发生的,一般都能显示出来,所以我们担心的就只是运行错误。他都终止asp的运行,而且给用户丢下一堆很不友好的文字。
那么我们要怎样处理运行错误呢!?我们先来看看,asp唯一提供给我们的错误命令---on error resume next(这里提醒一下初学者,在asp中只有on error resume next语句,没有on error resume goto语句)
假如您不使用on error resume next语句的话,一切运行错误都会发生,这个是致命的,那么就会有一段错误代码“展现”给用户,而且asp程式也会停止。

下面就是个错误代码:


microsoft ole db provider for odbc drivers error 80004005
[microsoft][odbc driver manager] data source name not found and no default driver specified
/test.asp, line 60


当我们在程式最上面使用on error resume next语句时,任何的错误都会被忽略,程式会自动执行下一条语句。这样程式就会完全执行,出错后用户也不会看到出错信息。但是这样也有不好的地方,那就是假如程式没有按照您想像的执行的话,您就很难找到到底是哪里出了问题,所以您就得在必要的地方对错误进行处理。
处理错误
在asp中,处理错误的最好的办法就是在程式最底端放上代码来处理错误。我也推荐在每个asp程式都使用缓冲区。这样的话,假如错误发生,页面就会停止,页面内容也会被清除,这样用户就不会看到错误信息,对您们的抱怨也就少了!下面是个例子:
<%@ language="vbscript" %>
<% 配置buffer为true
response.buffer = true
开始错误处理
on error resume next
%>
<% 错误处理
if err.number <> 0 then
清除页面
response.clear
显示错误信息给用户
%>
<html>
<head>
<title></title>
</head>
<body bgcolor="#c0c0c0">
<font face="arial">an error occurred in the execution of this asp page<br>
please report the following information to the support desk<p>
<b>page error object</b><br>
错误 number: <%= err.number %><br>
错误信息: <%= err.description %><br>
出错文档: <%= err.source %><br>
出错行: <%= err.line %><br>
</font>
</body>
</html>

<%end if%>


您们上面看到了,我首先配置on error resume next ,这样出现错误就不会影响程式的执行。

错误处理和数据库
在错误处理中加入数据库的执行是很复杂的。假若我们有一个程式,有很多的命令去向数据库中添加记录,假如insert/update在程式的最底部执行,假如我们前面又错误发生,那就完了!我们就会向数据库中添加了一个错误的信息。因为我们用了on error resume next 一切的错误都被忽略了!即使前面出错,程式依旧会向数据库中添加数据的。
为避免这种情况,我们就先得做些手脚,正确处理的方法如下:

if err.number = 0 and objconnection.errors.count = 0 then

这里才能执行语句,因为没有错误
set rstresults = dbdata.execute(txtsql)

end if



更多高级的处理办法
当一个错误发生时,您们也能够显示更多的错误信息。下面是同时处理数据库和页面错误的例子,有了他我们一下就能发现我们程式中的任何错误。(由于有些地方我觉得英文更能说时问题,所以没有翻译)。
<%
if err.number <> 0 then
response.clear
select case err.number
case 8 指定错误的number
在这里处理自定义错误

case else 一般错误

if isobject(objconnection) then
if objconnection.errors.count > 0 then
%>

<b>database connection object</b>

<% for intloop = 0 to objconnection.errors.count - 1 %>

error no: <%= objconnection.errors(intloop).number %><br>
description: <%= objconnection.errors(intloop).description %><br>
source: <%= objconnection.errors(intloop).source %><br>
ASP错误类型和错误处理
http://www.js4j.com/tech/asp/1-asp-error.html

sqlstate: <%= objconnection.errors(intloop).sqlstate %><br>
nativeerror: <%= objconnection.errors(intloop).nativeerror %><p>

<% next
end if

end if
if err.number <> 0 then
%>

<b>page error object</b><br>
error number <%= err.number %><br>
error description <%= err.description %><br>
source <%= err.source %><br>
linenumber <%= err.line %><p>

<% end if
end select
end if
%>


上面的例子让我们一下了处理了很多在数据库中出现的问题,这个在我们日常编程也是常用的!我们也应该看到那个select case 语句,他能让我们来处理特定的错误。
redirect 和错误处理
有一点我们就当注意一下,就是我们常用到的redirect对象,假如一个页面中出现了redirect对象,那么错误处理就失去了意义。所以在转向之前我们还得处理一下,如下:

if err.number = 0 and objconnection.errors.count = 0 then


response.clear
response.redirect ?lt;url here>?

end if



把代码变得更整齐
为了让代码变得更整齐,首先把错误处理的文档放在一个包含文档中。这样您就能够在任何文档中使用他。这样修改也方便。
在您程式的最上方加入(当然在语言声明之后)on error resume next语句。
在您执行sql以前进行错误检查。
使用redirect以前也要进行错误处理。
让您处理错误的包含文档在代码的最上面
ASP错误类型和错误处理(2)
ASP错误处理

ASP是非常简单的,以至于许多的开发者不会去思考错误处理。错误处理能够让你的应用程序更加合理。我看到过很多个用ASP编写的商业网站,大多数都忽略了错误处理。
错误的类型
有三种主要的错误类型:
编译错误:
这种错误出现一般都是代码的语法问题。因为编译错误而导致辞ASP停止运行。
运行错误
这个错误是发生在你准备运行ASP时的。例如:如果你试图给一个变量赋值,但是却超出了该变量允许的范围。
逻辑错误
逻辑错误是最难被发现的,这种错误经常是一种结构错误,电脑是发现不了的。这就需要我们彻头彻尾地检查我们的代码。
因为编译错误一般是和逻辑错误一起发生的,一般都能显示出来,所以我们担心的就只是运行错误。它都终止ASP的运行,而且给用户丢下一堆很不友好的文字。
那么我们要怎样处理运行错误呢!?我们先来看看,ASP唯一提供给我们的错误命令---On Error Resume Next(这里提醒一下初学者,在ASP中只有On Error Resume Next语句,没有On Error Resume Goto语句)
如果你不使用On Error Resume Next语句的话,一切运行错误都会发生,这个是致命的,那么就会有一段错误代码“展现”给用户,而且ASP程序也会停止。

下面就是一个错误代码:


Microsoft OLE DB Provider for ODBC Drivers error 80004005
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
/test.asp, line 60


当我们在程序最上面使用On Error Resume Next语句时,所有的错误都会被忽略,程序会自动执行下一条语句。这样程序就会完全执行,出错后用户也不会看到出错信息。但是这样也有不好的地方,那就是如果程序没有按照你想像的执行的话,你就很难找到到底是哪里出了问题,所以你就得在必要的地方对错误进行处理。
处理错误
在ASP中,处理错误的最好的办法就是在程序最底端放上代码来处理错误。我也推荐在每个ASP程序都使用缓冲区。这样的话,如果错误发生,页面就会停止,页面内容也会被清除,这样用户就不会看到错误信息,对你们的抱怨也就少了!下面是一个例子:
<%
'设置buffer为True
Response.Buffer = True
'开始错误处理
On Error Resume Next
%>
<%
'错误处理
If Err.Number <> 0 Then
'清除页面
Response.Clear
'显示错误信息给用户
%>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY BGCOLOR="#C0C0C0">
<FONT FACE="ARIAL">An error occurred in the execution of this ASP page<BR>
Please report the following information to the support desk<>
<B>age Error Object</B><BR>
错误 Number: <%= Err.Number %><BR>
错误信息: <%= Err.Description %><BR>
出错文件: <%= Err.Source %><BR>
出错行: <%= Err.Line %><BR>
</FONT>
</BODY>
</HTML>
<%End If%>
你们上面看到了,我首先设置On Error Resume Next ,这样出现错误就不会影响程序的执行。
错误处理和数据库
在错误处理中加入数据库的执行是很复杂的。假若我们有一个程序,有很多的命令去向数据库中添加记录,如果insert/update在程序的最底部执行,如果我们前面又错误发生,那就完了!我们就会向数据库中添加了一个错误的信息。因为我们用了On Error Resume Next 一切的错误都被忽略了!即使前面出错,程序依旧会向数据库中添加数据的。
为避免这种情况,我们就先得做些手脚,正确处理的方法如下:
If Err.Number = 0 And objConnection.Errors.Count = 0 Then

'这里才能执行语句,因为没有错误
Set rstResults = dbData.Execute(txtSql)
End If

更多高级的处理办法
当一个错误发生时,你们也可以显示更多的错误信息。下面是同时处理数据库和页面错误的例子,有了它我们一下就能发现我们程序中的所有错误。(由于有些地方我觉得英文更能说时问题,所以没有翻译)。
<%
If Err.Number <> 0 Then
Response.Clear
Select Case Err.Number
Case 8
'指定错误的Number
'在这里处理自定义错误
Case Else
'一般错误
If IsObject(objConnection) Then
If objConnection.Errors.Count > 0 Then
%>
<B>Database Connection Object</B>
<%
For intLoop = 0 To objConnection.Errors.Count - 1 %>

Error No: <%= objConnection.Errors(intLoop).Number %><BR>
Description: <%= objConnection.Errors(intLoop).Description %><BR>
Source: <%= objConnection.Errors(intLoop).Source %><BR>
SQLState: <%= objConnection.Errors(intLoop).SQLState %><BR>
NativeError: <%= objConnection.Errors(intLoop).NativeError %><>

<% Next
End If
End If
If Err.Number <> 0 Then
%>
<B>age Error Object</B><BR>
Error Number <%= Err.Number %><BR>
Error Description <%= Err.Description %><BR>
Source <%= Err.Source %><BR>
LineNumber <%= Err.Line %><>
<%
End If
End Select
End If
%>


上面的例子让我们一下了处理了很多在数据库中出现的问题,这个在我们日常编程也是常用的!我们也应该看到那个Select Case 语句,它能让我们来处理特定的错误。
Redirect 和错误处理
有一点我们就当注意一下,就是我们常用到的redirect对象,如果一个页面中出现了redirect对象,那么错误处理就失去了意义。所以在转向之前我们还得处理一下,如下:

If Err.Number = 0 And objConnection.Errors.Count = 0 Then


Response.Clear
Response.Redirect ?lt;URL Here>?

End If



把代码变得更整齐
为了让代码变得更整齐,首先把错误处理的文件放在一个包含文件中。这样你就可以在任何文件中使用它。这样修改也方便。
在你程序的最上方加入(当然在语言声明之后)On Error Resume Next语句。
在你执行SQL以前进行错误检查。
使用redirect以前也要进行错误处理。
让你处理错误的包含文件在代码的最上面


简单介绍
  ASP是非常简单的,以至于许多的开发者不会去思考错误处理。错误处理能够让你的应用程序更加合理。我看到过很多个用ASP编写的商业网站,大多数都忽略了错误处理。 错误的类型
有三种主要的错误类型:
1.编译错误:
  这种错误出现一般都是代码的语法问题。因为编译错误而导致辞ASP停止运行。
2.运行错误:
  这个错误是发生在你准备运行ASP时的。例如:如果你试图给一个变量赋值,但是却超出了该变量允许的范围。
3.逻辑错误:
  逻辑错误是最难被发现的,这种错误经常是一种结构错误,电脑是发现不了的。这就需要我们彻头彻尾地检查我们的代码。
  因为编译错误一般是和逻辑错误一起发生的,一般都能显示出来,所以我们担心的就只是运行错误。它都终止ASP的运行,而且给用户丢下一堆很不友好的文字。 那么我们要怎样处理运行错误呢?
  我们先来看看,ASP唯一提供给我们的错误命令---On Error Resume Next(这里提醒一下初学者,在ASP中只有On Error Resume Next语句,没有On Error Resume Goto语句) 如果你不使用On Error Resume Next语句的话,一切运行错误都会发生,这个是致命的,那么就会有一段错误代码“展现”给用户,而且ASP程序也会停止。 下面就是一个错误代码:
   Microsoft OLE DB Provider for ODBC Drivers error 80004005 [Microsoft][ODBC Driver Manager]   Data source name not found and no default driver specified /test.asp, line 60
  当我们在程序最上面使用On Error Resume Next语句时,所有的错误都会被忽略,程序会自动执行下一条语句。这样程序就会完全执行,出错后用户也不会看到出错信息。但是这样也有 不好的地方,那就是如果程序没有按照你想像的执行的话,你就很难找到到底是哪里出了问题,所以你就得在必要的地方对错误进行处理。
处理错误
  在ASP中,处理错误的最好的办法就是在程序最底端放上代码来处理错误。我也推荐在每个ASP程序都使用缓冲区。这样的话,如果错误发生,页面就会停止, 页面内容也会被清除,这样用户就不会看到错误信息,对你们的抱怨也就少了!下面是一个例子:
<%@ LANGUAGE="VBScript" %>
<%Response.Buffer = True
"设置buffer为True
On Error Resume Next
"开始错误处理
%>
<%"错误处理
If Err.Number <> 0 Then
"清除页面
Response.Clear
"显示错误信息给用户
%>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY BGCOLOR="#C0C0C0">
<FONT FACE="ARIAL">An error occurred in the execution of this ASP page<BR>
Please report the following information to the support desk
<><B>age Error Object</B><BR>
错误 Number: <%= Err.Number %><BR>
错误信息: <%= Err.Description %><BR>
出错文件: <%= Err.Source %><BR>
出错行: <%= Err.Line %><BR>
</FONT>
</BODY>
</HTML>
<%End If%>
  你们上面看到了,我首先设置On Error Resume Next ,这样出现错误就不会影响程序的执行。
错误处理和数据库
  在错误处理中加入数据库的执行是很复杂的。假若我们有一个程序,有很多的命令去向数据库中添加记录,如果insert/update在程序的最底部执行,如果我们前面又错误发生,那就完了!我们就会向数据库中添加了一个错误的信息。因为我们用了On Error Resume Next 一切的错误都被忽略了!即使前面出错,程序依旧会向数据库中添加数据的。
  为避免这种情况,我们就先得做些手脚,正确处理的方法如下:
If Err.Number = 0 And objConnection.Errors.Count = 0 Then
"这里才能执行语句,因为没有错误
  Set rstResults = dbData.Execute(txtSql)
End If
更多高级的处理办法
  当一个错误发生时,你们也可以显示更多的错误信息。下面是同时处理数据库和页面错误的例子,有了它我们一下就能发现我们程序中的所有错误。 (由于有些地方我觉得英文更能说时问题,所以没有翻译)。
<% If Err.Number <> 0 Then
  Response.Clear
  Select Case Err.Number
    Case 8
     "指定错误的Number
     "在这里处理自定义错误
    Case Else
     "一般错误
     If IsObject(objConnection) Then
      If objConnection.Errors.Count > 0 Then
      %>
      <B>Database Connection Object</B>
      <%  
       For intLoop = 0 To objConnection.Errors.Count - 1 %>
        Error No: <%= objConnection.Errors(intLoop).Number %><br>
Description: <%= objConnection.Errors(intLoop).Description %><BR>
Source: <%= objConnection.Errors(intLoop).Source %><BR>
SQLState: <%= objConnection.Errors(intLoop).SQLState %><BR>
NativeError: <%= objConnection.Errors(intLoop).NativeError %><>
<% Next
End If
End If
If Err.Number <> 0 Then %> <B>
Page Error Object</B><BR>
Error Number <%= Err.Number %><BR>
Error Description <%= Err.Description %><BR>
Source <%= Err.Source %><BR>
LineNumber <%= Err.Line %><>
<%End If
End Select
End If %>
  上面的例子让我们一下了处理了很多在数据库中出现的问题,这个在我们日常编程也是常用的!我们也应该看到那个Select Case 语句,它能让我们来处理特定的错误。
Redirect 和错误处理
  有一点我们就当注意一下,就是我们常用到的redirect对象,如果一个页面中出现了redirect对象,那么错误处理就失去了意义。所以在转向之前我们还得处理一下,如下:
  If Err.Number = 0 And objConnection.Errors.Count = 0 Then
   Response.Clear
   Response.Redirect ?lt;URL Here>?
  End If
把代码变得更整齐
  为了让代码变得更整齐,首先把错误处理的文件放在一个包含文件中。这样你就可以在任何文件中使用它。这样修改也方便。在你程序的最上方加入(当然在语言声明之后)On Error Resume Next语句。在你执行SQL以前进行错误检查。使用redirect以前也要进行错误处理。
让你处理错误的包含文件在代码的最上面
  我希望这篇文章对你们有所用,因为我在我们的论坛中已经发现有人在问这个问题了!也许我编译出这篇文章能对你们起些作用。
  简单介绍
  ASP是非常简单的,以至于许多的开发者不会去思考错误处理。错误处理能够让你的应用程序更加合理。我看到过很多个用ASP编写的商业网站,大多数都忽略了错误处理。 错误的类型
有三种主要的错误类型:
1.编译错误:
  这种错误出现一般都是代码的语法问题。因为编译错误而导致辞ASP停止运行。
2.运行错误:
  这个错误是发生在你准备运行ASP时的。例如:如果你试图给一个变量赋值,但是却超出了该变量允许的范围。
3.逻辑错误:
  逻辑错误是最难被发现的,这种错误经常是一种结构错误,电脑是发现不了的。这就需要我们彻头彻尾地检查我们的代码。
  因为编译错误一般是和逻辑错误一起发生的,一般都能显示出来,所以我们担心的就只是运行错误。它都终止ASP的运行,而且给用户丢下一堆很不友好的文字。 那么我们要怎样处理运行错误呢?
  我们先来看看,ASP唯一提供给我们的错误命令---On Error Resume Next(这里提醒一下初学者,在ASP中只有On Error Resume Next语句,没有On Error Resume Goto语句) 如果你不使用On Error Resume Next语句的话,一切运行错误都会发生,这个是致命的,那么就会有一段错误代码“展现”给用户,而且ASP程序也会停止。 下面就是一个错误代码:
   Microsoft OLE DB Provider for ODBC Drivers error 80004005 [Microsoft][ODBC Driver Manager]   Data source name not found and no default driver specified /test.asp, line 60
  当我们在程序最上面使用On Error Resume Next语句时,所有的错误都会被忽略,程序会自动执行下一条语句。这样程序就会完全执行,出错后用户也不会看到出错信息。但是这样也有 不好的地方,那就是如果程序没有按照你想像的执行的话,你就很难找到到底是哪里出了问题,所以你就得在必要的地方对错误进行处理。
处理错误
  在ASP中,处理错误的最好的办法就是在程序最底端放上代码来处理错误。我也推荐在每个ASP程序都使用缓冲区。这样的话,如果错误发生,页面就会停止, 页面内容也会被清除,这样用户就不会看到错误信息,对你们的抱怨也就少了!下面是一个例子:
<%@ LANGUAGE="VBScript" %>
<%Response.Buffer = True
"设置buffer为True
On Error Resume Next
"开始错误处理
%>
<%"错误处理
If Err.Number <> 0 Then
"清除页面
Response.Clear
"显示错误信息给用户
%>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY BGCOLOR="#C0C0C0">
<FONT FACE="ARIAL">An error occurred in the execution of this ASP page<BR>
Please report the following information to the support desk
<><B>;Page Error Object</B><BR>
错误 Number: <%= Err.Number %><BR>
错误信息: <%= Err.Description %><BR>
出错文件: <%= Err.Source %><BR>
出错行: <%= Err.Line %><BR>
</FONT>
</BODY>
</HTML>
<%End If%>
  你们上面看到了,我首先设置On Error Resume Next ,这样出现错误就不会影响程序的执行。
错误处理和数据库
  在错误处理中加入数据库的执行是很复杂的。假若我们有一个程序,有很多的命令去向数据库中添加记录,如果insert/update在程序的最底部执行,如果我们前面又错误发生,那就完了!我们就会向数据库中添加了一个错误的信息。因为我们用了On Error Resume Next 一切的错误都被忽略了!即使前面出错,程序依旧会向数据库中添加数据的。
  为避免这种情况,我们就先得做些手脚,正确处理的方法如下:
If Err.Number = 0 And objConnection.Errors.Count = 0 Then
"这里才能执行语句,因为没有错误
  Set rstResults = dbData.Execute(txtSql)
End If
更多高级的处理办法
  当一个错误发生时,你们也可以显示更多的错误信息。下面是同时处理数据库和页面错误的例子,有了它我们一下就能发现我们程序中的所有错误。 (由于有些地方我觉得英文更能说时问题,所以没有翻译)。
<% If Err.Number <> 0 Then
  Response.Clear
  Select Case Err.Number
    Case 8
     "指定错误的Number
     "在这里处理自定义错误
    Case Else
     "一般错误
     If IsObject(objConnection) Then
      If objConnection.Errors.Count > 0 Then
      %>
      <B>Database Connection Object</B>
      <%  
       For intLoop = 0 To objConnection.Errors.Count - 1 %>
        Error No: <%= objConnection.Errors(intLoop).Number %><br>
Description: <%= objConnection.Errors(intLoop).Description %><BR>
Source: <%= objConnection.Errors(intLoop).Source %><BR>
SQLState: <%= objConnection.Errors(intLoop).SQLState %><BR>
NativeError: <%= objConnection.Errors(intLoop).NativeError %><;P>
<% Next
End If
End If
If Err.Number <> 0 Then %> <B>
Page Error Object</B><BR>
Error Number <%= Err.Number %><BR>
Error Description <%= Err.Description %><BR>
Source <%= Err.Source %><BR>
LineNumber <%= Err.Line %><;P>
<%End If
End Select
End If %>
  上面的例子让我们一下了处理了很多在数据库中出现的问题,这个在我们日常编程也是常用的!我们也应该看到那个Select Case 语句,它能让我们来处理特定的错误。
Redirect 和错误处理
  有一点我们就当注意一下,就是我们常用到的redirect对象,如果一个页面中出现了redirect对象,那么错误处理就失去了意义。所以在转向之前我们还得处理一下,如下:
  If Err.Number = 0 And objConnection.Errors.Count = 0 Then
   Response.Clear
   Response.Redirect ?lt;URL Here>?
  End If
把代码变得更整齐
  为了让代码变得更整齐,首先把错误处理的文件放在一个包含文件中。这样你就可以在任何文件中使用它。这样修改也方便。在你程序的最上方加入(当然在语言声明之后)On Error Resume Next语句。在你执行SQL以前进行错误检查。使用redirect以前也要进行错误处理。
让你处理错误的包含文件在代码的最上面
/

  我希望这篇文章对你们有所用,因为我在我们的论坛中已经发现有人在问这个问题了!也许我编译出这篇文章能对你们起些作用。
  简单介绍
  ASP是非常简单的,以至于许多的开发者不会去思考错误处理。错误处理能够让你的应用程序更加合理。我看到过很多个用ASP编写的商业网站,大多数都忽略了错误处理。 错误的类型
有三种主要的错误类型:
1.编译错误:
  这种错误出现一般都是代码的语法问题。因为编译错误而导致辞ASP停止运行。
2.运行错误:
  这个错误是发生在你准备运行ASP时的。例如:如果你试图给一个变量赋值,但是却超出了该变量允许的范围。
3.逻辑错误:
  逻辑错误是最难被发现的,这种错误经常是一种结构错误,电脑是发现不了的。这就需要我们彻头彻尾地检查我们的代码。
  因为编译错误一般是和逻辑错误一起发生的,一般都能显示出来,所以我们担心的就只是运行错误。它都终止ASP的运行,而且给用户丢下一堆很不友好的文字。 那么我们要怎样处理运行错误呢?
  我们先来看看,ASP唯一提供给我们的错误命令---On Error Resume Next(这里提醒一下初学者,在ASP中只有On Error Resume Next语句,没有On Error Resume Goto语句) 如果你不使用On Error Resume Next语句的话,一切运行错误都会发生,这个是致命的,那么就会有一段错误代码“展现”给用户,而且ASP程序也会停止。 下面就是一个错误代码:
   Microsoft OLE DB Provider for ODBC Drivers error 80004005 [Microsoft][ODBC Driver Manager]   Data source name not found and no default driver specified /test.asp, line 60
  当我们在程序最上面使用On Error Resume Next语句时,所有的错误都会被忽略,程序会自动执行下一条语句。这样程序就会完全执行,出错后用户也不会看到出错信息。但是这样也有 不好的地方,那就是如果程序没有按照你想像的执行的话,你就很难找到到底是哪里出了问题,所以你就得在必要的地方对错误进行处理。
处理错误
  在ASP中,处理错误的最好的办法就是在程序最底端放上代码来处理错误。我也推荐在每个ASP程序都使用缓冲区。这样的话,如果错误发生,页面就会停止, 页面内容也会被清除,这样用户就不会看到错误信息,对你们的抱怨也就少了!下面是一个例子:
<%@ LANGUAGE="VBScript" %>
<%Response.Buffer = True
"设置buffer为True
On Error Resume Next
"开始错误处理
%>
<%"错误处理
If Err.Number <> 0 Then
"清除页面
Response.Clear
"显示错误信息给用户
%>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY BGCOLOR="#C0C0C0">
<FONT FACE="ARIAL">An error occurred in the execution of this ASP page<BR>
Please report the following information to the support desk
<;P><B>;Page Error Object</B><BR>
错误 Number: <%= Err.Number %><BR>
错误信息: <%= Err.Description %><BR>
出错文件: <%= Err.Source %><BR>
出错行: <%= Err.Line %><BR>
</FONT>
</BODY>
</HTML>
<%End If%>
  你们上面看到了,我首先设置On Error Resume Next ,这样出现错误就不会影响程序的执行。
错误处理和数据库
  在错误处理中加入数据库的执行是很复杂的。假若我们有一个程序,有很多的命令去向数据库中添加记录,如果insert/update在程序的最底部执行,如果我们前面又错误发生,那就完了!我们就会向数据库中添加了一个错误的信息。因为我们用了On Error Resume Next 一切的错误都被忽略了!即使前面出错,程序依旧会向数据库中添加数据的。
  为避免这种情况,我们就先得做些手脚,正确处理的方法如下:
If Err.Number = 0 And objConnection.Errors.Count = 0 Then
"这里才能执行语句,因为没有错误
  Set rstResults = dbData.Execute(txtSql)
End If
更多高级的处理办法
  当一个错误发生时,你们也可以显示更多的错误信息。下面是同时处理数据库和页面错误的例子,有了它我们一下就能发现我们程序中的所有错误。 (由于有些地方我觉得英文更能说时问题,所以没有翻译)。
<% If Err.Number <> 0 Then
  Response.Clear
  Select Case Err.Number
    Case 8
     "指定错误的Number
     "在这里处理自定义错误
    Case Else
     "一般错误
     If IsObject(objConnection) Then
      If objConnection.Errors.Count > 0 Then
      %>
      <B>Database Connection Object</B>
      <%  
       For intLoop = 0 To objConnection.Errors.Count - 1 %>
        Error No: <%= objConnection.Errors(intLoop).Number %><br>
Description: <%= objConnection.Errors(intLoop).Description %><BR>
Source: <%= objConnection.Errors(intLoop).Source %><BR>
SQLState: <%= objConnection.Errors(intLoop).SQLState %><BR>
NativeError: <%= objConnection.Errors(intLoop).NativeError %><;P>
<% Next
End If
End If
If Err.Number <> 0 Then %> <B>
Page Error Object</B><BR>
Error Number <%= Err.Number %><BR>
Error Description <%= Err.Description %><BR>
Source <%= Err.Source %><BR>
LineNumber <%= Err.Line %><;P>
<%End If
End Select
End If %>
  上面的例子让我们一下了处理了很多在数据库中出现的问题,这个在我们日常编程也是常用的!我们也应该看到那个Select Case 语句,它能让我们来处理特定的错误。
Redirect 和错误处理
  有一点我们就当注意一下,就是我们常用到的redirect对象,如果一个页面中出现了redirect对象,那么错误处理就失去了意义。所以在转向之前我们还得处理一下,如下:
  If Err.Number = 0 And objConnection.Errors.Count = 0 Then
   Response.Clear
   Response.Redirect ?lt;URL Here>?
  End If
把代码变得更整齐
  为了让代码变得更整齐,首先把错误处理的文件放在一个包含文件中。这样你就可以在任何文件中使用它。这样修改也方便。在你程序的最上方加入(当然在语言声明之后)On Error Resume Next语句。在你执行SQL以前进行错误检查。使用redirect以前也要进行错误处理。
让你处理错误的包含文件在代码的最上面
  我希望这篇文章对你们有所用,因为我在我们的论坛中已经发现有人在问这个问题了!也许我编译出这篇文章能对你们起些作用。



内存不足

分配与该计算机有效内存一样多的内存。这能够是一个动态分配数组增加得太大,或者是对象实例数目过多。

要改正该错误

使用Erase语句来重新分配动态数组的储存空间。
使用ReDim语句来重新分配储存空间。
关闭任何已经打开、不必需的使用程序,文件或者源文件。

语法错误


创立的语句中违背了VBScript的语法规则。

要改正该错误

检查两遍表达式中元素的数目。
寻觅间接的括号。

需求 '('


当创立进程说明时未包含开括号“(”,

Sub foo x // x需求使用圆括号括起来。 End Sub
或使用redim 语句。

Redim x // x需求使用圆括号括起来。
要改正该错误

增加左(开)括号“(”。

需求 ')'


试图封装一套括号中的表达式,但未包含闭括号“)”。必需用一套开括号和闭括号封装一些表达式。

要改正该错误

给请求值的表达式增加右(闭)括号“)”。

需求标识符


使用VBScript 保存词作为变量称号。

要改正该错误

使用其它称号(一个不是VBScript保存词的称号)。
以[ ]封装保存词。

需求 '='


使用Set 语句,但未包含=。

要改正该错误

使用Set 语句的完好语法。

需求 'If'


创立了一个If...Then...Else 块,但未正常结束块。块语句If 必需为一行的第一个语句,且必需以End If 结束。上面演示了一个If...Then...Else块 的正确构造。

If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End If
要改正该错误

检查块If 语句能否以End 语句。假如是的话,将它改成End If 语句。

需求 'To'


创立一个For...Next 循环,但没有在第一行中包含关键词To。一个For...Next循环 的第一行必需包含关键词To 。上面演示了一个For...Next 循环的正确构造。

For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next
要改正该错误

确保For...Next循环包含了一切必需的部分。

需求 'End'


创立构造但未正常结束。下表列出了必需以End语句结束的构造。

构造 结束语句
Sub End Sub
Function End Function
If End If
Class End Class
With End With
Select End Select



要改正该错误

以End Sub语句结束一个Sub进程。
以End Function 结束一个Function进程。
以End If 语句结束一个If 语句。
以End Class 语句结束一个Class语句。
以End With 语句结束一个With语句。
以End Select 语句结束一个Select语句。

需求 'Function'


创立一个Function进程,但是以关键词End结束, 而不是以End Function 语句结束。一个Function进程必需包含结束语句End Function 。

要改正该错误

以语句End Function 结束Function进程。

需求 'Sub'


创立了一个Sub 进程,但是使用关键字End结束而不是使用End Sub 语句终止。一个Sub进程必需包含一个End Sub终止语句。

要改正该错误

使用End Sub 语句终止Sub 进程。

需求 'Then'


创立了一个If...Then...Else结束,但在第一行中为包含关键字Then。上面的代码演示了If...Then...Else 构造的正确使用。

If condition Then statements [Else elsestatements ]
或者能够使用块方式语法:

If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End If
要改正该错误

确保 If...Then...Else构造包含了一切必需的部分。

需求 'Wend'


创立了一个While...Wend 循环,但是没有正确终止循环。一个 While...Wend 循环必需使用语句Wend 来终止。上面演示了一个While...Wend 循环的正确构造。

While condition
Version [statements]
Wend
要改正该错误

确保While...Wend循环包含了一切必需的部分。

需求 'Loop'


创立了一个Do 循环构造,但未正常中缀循环。Do 循环构造与Loop 语句相关联合束。上面演示了Do 循环构造的正确使用。

Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
或者能够使用上面的语法:

Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
要改正该错误

确保Do循环构造包含了一切必需的部分。

需求 'Next'


创立了一个For...Next 循环构造,但未正常结束循环。一个For...Next 循环构造必需以一个Next语句结束。上面演示了一个For...Next 循环构造的正确构造。

For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next
要改正该错误

确保For...Next循环构造包含了一切必需的部分。

需求 'Case'


创立Select...End Select 构造,但未包含任何Case语句。上面演示了Select...End Select 构造的正确使用办法。

Select Case testexpression
[Case expressionlist-n [statements-n]] . . .
[Case Else expressionlist-n [elsestatements-n]]
End Select
要改正该错误

确保Select...End Select 构造包含一切必需的部分。

需求 'Select'


创立了一个Select...End Select 构造,但未包含结束语句End Select 。上面演示了Select...End Select 构造的正确使用办法。

Select Case testexpression
[Case expressionlist-n [statements-n]] . . .
[Case Else expressionlist-n [elsestatements-n]]
End Select
要改正该错误

确保Select...End Select构造包含了一切必需的部分

需求表达式


创立一个Select...End Select构造,但包含一个Case分句。Case Else语句(失败的情况)必需在它本人那一行出现。上面演示了Select...End Select 构造的正确使用。

Select Case testexpression
[Case expressionlist-n [statements-n]] . . .
[Case Else expressionlist-n
[elsestatements-n]]
End Select
要改正该错误

为Case Else 语句另起一行。

需求语句


作为参数传送给Execute语句的字符串无法被解析为一个语句。Execute语句不能被用来动态施行VBScript代码。例如,考虑如下的 VBScript代码。

Execute "msgbox 1" '由于msgbox是一个语句,所以有效。
Execute "5*4" '由于5*4无法被注释为一个语句所以失败。
不只仅是Execute和Eval ,在任何需求一个语句的脚本代码的编译进程中也产生Expected statement错误。例如,如下代码在Internet Explorer 中造成这个错误,

<html>
<script language=vbscript>
5*4
</script>
</html>
留意这里有两个在VBScript中不同且无关的语句,

编译并施行不任务语句的Execute语句,
Execute 办法.
要改正该错误

确保传送给Execute 语句的字符串为一个语句。
假如请求值的字符串为一个表达式,使用Eval。

需求语句的结束


在语句开头外出现文字。

要改正该错误

移去额定的文字。
假如要注释代码行,在语句的开头处拔出单引号"'"。

需求整数常数


试图在Dim 语句中使用非常数创立一个数组。在VBScript中,Dim 语句中大小值必需为一个常数。例如,

Dim a(10) ' 有效。
Dim a(x) ' 无效。
Dim a(1=2) ' 无效
要改正该错误

使用ReDim 语句

需求 'While' 或 'Until'


创立了一个Do循环,但是未包含相关的While 或 Until 关键词。一个Do 循环的测试条件需求在测试条件语句中使用一个While或Until 关键词。上面演示 一个Do 循环的正确构造。

Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
或者能够使用语法:

Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
要改正该错误

确保Do循环包含了一切必需的部分。

需求 'While'、'Until' 或语句结束


创立了一个Do循环,但是未包含相关的关键词While 或 Until。一个Do 循环的测试条件需求在测试条件语句中使用一个While或Until 关键词。上面演示了 一个Do 循环的正确构造。

Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
Or, you can use this syntax:

Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
要改正该错误

确保Do循环包含了一切必需的部分。
使用关键字While 或 Until来结束Do循环。loop with either the While or Until keywords。

需求 'With'


创立了一个With块,但是以关键词End而不是语句End With 结束。一个 With 块必需使用一个End With 语句结束。上面演示了With块的正确组成。

With object
 statements
End With
要改正该错误

假如使用关键词End 结束一个With块,将它改成End With语句。
确保With掌握构造了一切必需的部分。

标识符太长


创立了一个包含态多字符的变量或函数称号。限制为255个字符。

要改正该错误

选择一个较短的称号。

无效数字


表达式的一个值太大或超出范畴。

要改正该错误

使用较小的值。

无效字符


在一个表达式中试图使用双字节字符集(DBCS)或其他不被支撑的字符。

要改正该错误

将不被支撑的字符封装在方括号[]中。

未终止字符串常数


没有用封闭的引号来结束字符串常数。字符串常数必需用一对引号来封闭。

要改正该错误

在字符串尾部加上封闭的引号。

无效使用关键词 'Me'


试图使用Set给标识符 Me赋值。Me是一个被保存的标识符,且不能被设定。

要改正该错误

将变量的称号改成与Me不同。

'loop' 没有 'do'


创立了一个Do 循环,但未正确地建立循环。Do 循环以Do语句开端。上面演示了一个Do 循环的正确构造。

Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop
或者能够使用这个语法:

Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]
要改正该错误

在不删除Loop 语句的情况下能够试图删除一个Do 掌握构造。
确保Do循环包含了一切必需的部分。

无效 'exit' 语句


在以下程序掌握构造之一中使用了Exit 语句:

With 语句。
If...Then...Else语句。
Select Case语句。
仅在如下构造中能够合法使用Exit 语句来加入:

Do...While 循环(Exit Do)。
For...Next 循环(Exit For)。
For Each...Next 循环(Exit For)。
Function 进程(Exit Function)。
Sub 进程(Exit Sub)。
要改正该错误

能够不恰外地使用了Exit If, Exit With,或Exit Select。
不要和If, With,Select 语句一同使用Exit。

无效 'for' 循环掌握变量


创立了一个For...Next循环。换句话说,能够在For...Next中使用了一个合法的掌握变量。上面的代码演示了一个For...Next 循环的正确构造。

For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next
要改正该错误

修改For...Next 循环的掌握变量,使其在外循环的范畴内独一。

称号重定义


声明了一个在脚本其他地方已经使用的称号。

要改正该错误

改变标识符称号使其在脚本的全局范畴内独一。

必需为行的第一个语句


代码的多语句行包含了一个If...Then...Else 语句, 但If...Then...Else 语句不是改行的第一个语句。If...Then...Else 语句必需为行的第一个语句。

要改正该错误

将If 或 Else语句挪动到新的一行。

调用 Sub 时不能使用圆括号


未使用Call调用子程序,但是使用了圆括号()。当不使用Call 语句调用子程序时,不要使用圆括号。

要改正该错误

在调用子程序的地方移去圆括号。
改用Call 语句调用子程序。

需求文字常数


声明常数,但是赋予其变化的表达式(能够变化的值)。常数不能包含运转时期码。

要改正该错误

当声明常数时不使用表达式。

需求 'In'


创立一个For Each...Next 块,但在第一行未包括关键词In 。上面演示了For Each...Next 块的正确构造。

For Each element In group
 [statements]
 [Exit For]
 [statements]
Next [element]
要改正该错误

确保For Each...Next 块包含了一切必需的部分。

需求 'Class'


创立一个Class 进程,但是以关键词End结束,而不是使用语句End Class。通常使用End Class语句结束Class 进程。

要改正该错误

使用End Class语句结束Class 进程。

必需在一个类的内部定义


创立了一个 Property 进程(Property Let, Property Set,或 Property Get), 但是在 Class 定义的内部进行了定义。只能在同一类里面创立 Property 进程。

要改正该错误

确保一切的 Property Let,Property Set 和 Property Gets 在一个 Class 定义里面定义了。

在属性声明中需求 Let或 Set 或 Get


创立了一个Property Let, Property Set,或 Property Get 语句,但未包含关键词Let, Set, 或 Get。Property 语句后面必需带Let,Set,或 Get。

要改正该错误

确保Property 语句后面跟Let, Set, 或Get。

需求 'Property'


创立了一个Property 进程(Property Let,Property Set,或Property Get), 但未使用End Property 语句结束进程。Property进程必需以End Property语句结束。

要改正该错误

确保 Property进程以End Property语句结束。

参数数目必需与属性说明一致


所说明的参数数目太少了。当使用Property Let 或 Property Set,参数数目必需比相应的Property Get 前往的数字大1。

要改正该错误

确保Property Let 和 Property Set 至多比由Property Get.前往的参数数目多1。

在类中不能有多个缺省的属性/办法


在类定义中标志了多于一个的缺省属性或办法。在类中只能有一个缺省的属性和办法。

要改正该错误

确保该类只有一个缺省的属性和办法。

类初始化或终止不能带参数


类定义带有Class_Initialize事情或Class_Terminate 事情。这些进程有一个或更多的参数。不要给这些进程指定参数。

要改正该错误

从类定义中移去参数。

Property Set 或 Let 至多该当有一个参数


说明了一个没有参数的类的 Set 或 Let 句柄的拜访者。

要改正该错误

增加一个参数给属性拜访者。

不需求 'Next'


创立了一个For...Next 或者For Each...Next 构造,但没有包含For语句。例如,在试图去掉For...Next构造时保存了Next语句。上面演示了For...Next构造的正确用法。

For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next
要改正该错误

加上For语句 (循环掌握语句)。
去掉多余的Next语句。

只能在 Property Get 中指定 'Default'


对Property Let 或 Property Set 使用了保存字 Default。只能对 Property Get 指定保存字 Default 。

要改正该错误

只对 Property Get 指定保存字 Default 。


IIS系列常见错误及处理解决方法
作者:佚名 文章来源:本站原创 点击数:4393 更新时间:2006-12-15
许多人在用IIS建设网站的过程中或多或少都会出现问题,在IIS6中有些是以前版本中就曾经出现过,IIS6中也有些是新发现的问题,本文在此对建站上所出现的问题做了个简单总结,希望能对大家有所帮助。
---------------------------------------------------------------------------------------
  
问题1:未启用父路径
  
  症状举例:
  
  Server.MapPath() 错误 'ASP 0175 : 80004005'
  
  不允许的 Path 字符
  
  /0709/dqyllhsub/news/OpenDatabase.asp,行 4
  
  在 MapPath 的 Path 参数中不允许字符 '..'。
  
原因分析:
  
  许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。
  
解决方法:
  
  在IIS中 属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。
---------------------------------------------------------------------------------------
  
问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)
  
  症状举例:
  
  HTTP 错误 404 - 文件或目录未找到。
  
原因分析:
  
  在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
  
解决方法:
  
  在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。
-----------------------------------------------------------------------------------------
  
问题3:身份认证配置不当
  
  症状举例:
  
  HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。
  
原因分析:IIS 支持以下几种 Web 身份验证方法:
  
  匿名身份验证
  
  IIS 创建 IUSR_计算机名称 帐户(其中 计算机名称 是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
  
  基本身份验?
  
  使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。
  
  Windows 集成身份验证
  
  Windows 集成身份验证比基本身份验证安全,而且在用户具有 Windows 域帐户的内部网环境中能很好地发挥作用。在集成的 Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的 Windows 身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。
  
  摘要身份验证
  
  摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。
  
  .NET Passport 身份验证
  
  Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。
  
解决方法:
  
  根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。
-----------------------------------------------------------------------------------------
  
问题4:IP限制配置不当
  
  症状举例:
  
  HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。
  
原因分析:
  
  IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。
  
解决方法:
  
  进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。
---------------------------------------------------------------------------------------
  
问题5:IUSR账号被禁用
  
  症状举例:
  
  HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
  
原因分析:
  
  由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。
  
  解决办法:
  
  控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。
  
  问题6:NTFS权限设置不当
  
  症状举例:
  
  HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
  
原因分析:
  
  Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。
  
解决办法:
  
  进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设置这里不再馈述。
-------------------------------------------------------------------------------------------
  
问题7:IWAM账号不同步
  
  症状举例:
  
  HTTP 500 - 内部服务器错误
  
原因分析:
  
  IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
  
解决办法:
  
  如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。
  
  运行c:/Inetpub/AdminScripts>adsutil SET w3svc/WAMUserPass +密码 同步IIS metabase数据库密码
  
  运行cscript c:/inetpub/adminscripts/synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码
---------------------------------------------------------------------------------------------
  
问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)
  
  症状举例:
  
  HTTP 错误 404 - 文件或目录未找到。
  
原因分析:
  
  IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。
  
解决方法:
  
  在IIS中 属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。
---------------------------------------------------------------------------------------------
问题9:故障表现:
1、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,结果报错“COM+ 无法与 Microsoft 分布式事务协调程序交谈”,无法查看里面的对象。
2、进入事件查看器,发现msdtc服务没有正常启动。

解决方法:
1、删除注册表中的键:
? HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC
? HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
? HKEY_CLASSES_ROOT/CID
2、停止MSDTC服务:net stop msdtc
3、卸载MSDTC服务:msdtc -uninstall
4、重新安装MSDTC服务:msdtc -install
5、卸载IIS,重新安装IIS,访问asp程序看看,应该OK了
(如果还不行就再继续以下步骤来修复)
6、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看],这里有个技巧,查看MSDTC服务是否启动,执行net stop msdtc,提示正在停止和停止成功就对了,再msdtc - install下就OK.
7、重新设置IIS的IWAM账号密码。[在计算机管理中的用户管理里]
8、同步IIS metabase中IWAM_MYSERVER的密码:
c:/inetput/adminscripts>adsutil set w3svc/wamuserpass "yourpassword"
9、同步COM+应用程序所用的IWAM_MYSERVER密码:
c:/inetput/adminscripts>cscript synciwam.vbs -v
----------------------------------------------------------------------------------------
问题10:故障表现:
FAT32格式下:
无法显示网页
试图访问的网页出现问题,无法显示。
.................................
技术信息(用于支持人员)

错误类型:
Microsoft VBScript 运行时错误 (0x800A0046)
没有权限: 'GetObject'
/localstart.asp, 第 40 行
................................
解决方案:
ADSI管理对象不能使用匿名访问.所以就出现权限问题..

给站点加上集成windows验证,并去掉匿名验证一切OK
-----------------------------------------------------------------------------------------
  
  另外,防火墙阻止,ODBC配置错误,Web服务器性能限制,线程限制等因素也是造成IIS服务器无法访问的可能原因,这里就不再一一馈述了。


在的时候程序调试是很频繁的,如何判断错误类型就成为了常识,下面是一些常见地错误及解决方法
MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)
MicrosoftOLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)
MicrosoftOLEDBProviderforODBCDrivers(0x80004005) -->打开数据库出错,没有在指定目录发现数据库
MicrosoftOLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表
MicrosoftVBscript运行时错误(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义)
MicrosoftVBscript运行时错误(0x800A01C2)-->vbscript脚本错误(vbscript语句出错)
MicrosoftVBscript运行时错误(0x800A0006)-->vbscript脚本错误(溢出错误)
MicrosoftVBscript编译器错误(0x800A040E)-->缺少loop
MicrosoftVBscript编译器错误(0x800A03EA)-->缺少if或endif
MicrosoftVBscript编译器错误(0x800A03EE)--> 语句未结束(缺少")")
MicrosoftVBscript编译器错误(0x800A03F6)-->if语句出错(缺少endif)
MicrosoftVBscript运行时错误(0x800A005B)-->缺少set
MicrosoftVBscript运行时错误(0x800A0005)-->变量未定义
MicrosoftVBscript编译器错误(0x800A03F9)-->if语句缺少then
MicrosoftVBscript编译器错误(0x800A0411)-->dim语句定义错误
MicrosoftVBscript编译器错误(0x800A0408)-->sql语句错误(?????????????????)
ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作)
ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句)
ADODB.Recordset(0x800A0CC1) -->rs对像出错(引用了一个不存在的字段名)
ADODB.Recordset(0x800A0E7D)-->conn定义错误
ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据


VBScript 语法错误
如果 VBScript 语句结构违反了一个或多个 VBScript 脚本语言语法规则,就会产生 VBScript 语法错误。
错误通常在执行程序前,编译程序时产生。 以下是53个语法错误:
错误编号 描述
十进制 十六进制 说明
1001 800A03E9 内存不足
1002 800A03EA 语法错误
1003 800A03EB 缺少“:”
1005 800A03ED 需要 ’(’
1006 800A03EE 需要 ’)’
1007 800A03EF 缺少“]”
1010 800A03F2 需要标识符
1011 800A03F3 需要 ’=’
1012 800A03F4 需要 ’If’
1013 800A03F5 需要 ’To’
1014 800A03F6 需要 ’End’
1015 800A03F7 需要 ’Function’
1016 800A03F8 需要 ’Sub’
1017 800A03F9 需要 ’Then’
1018 800A03FA 需要 ’Wend’
1019 800A03FB 需要 ’Loop’
1020 800A03FC 需要 ’Next’
1021 800A03FD 需要 ’Case’
1022 800A03FE 需要 ’Select’
1023 800A03FF 需要表达式
1024 800A0400 需要语句
1025 800A0401 需要语句的结束
1026 800A0402 需要整数常数
1027 800A0403 需要 ’While’ 或 ’Until’
1028 800A0404 需要 ’While,’、 ’Until,’ 或语句未结束
1029 800A0405 需要 ’With’
1030 800A0406 标识符太长
1031 800A0407 无效的数
1032 800A0408 无效的字符
1033 800A0409 未结束的串常量
1034 800A040A 未结束的注释
1037 800A040D 无效使用 ’Me’
1038 800A040E ’loop’ 没有 ’do’
1039 800A040F 无效 ’exit’ 语句
1040 800A0410 无效 ’for’ 循环控制变量
1041 800A0411 名称重定义
1042 800A0412 必须为行的第一个语句
1043 800A0413 不能赋给非Byval参数
1044 800A0414 调用 Sub 时不能使用圆括号
1045 800A0415 需要文字常数
1046 800A0416 需要 ’In’
1047 800A0417 需要 ’Class’
1048 800A0418 必须在一个类的内部定义
1049 800A0419 在属性声明中需要 Let , Set 或 Get
1050 800A041A 需要 ’Property’
1051 800A041B 参数数目必须与属性说明一致
1052 800A041C 在类中不能有多个缺省的属性/方法
1053 800A041D 类初始化或终止不能带参数
1054 800A041E Property Let 或 Set 至少应该有一个参数
1055 800A041F 不需要的 ’Next’
1056 800A0420 只能在 'Property’ 或 ’Function’ 或 ’Sub’ 上指定 ’Default’
1057 800A0421 说明 ’Default’ 必须同时说明 ’Public’ "
1058 800A0422 只能在 Property Get 中指定 ’Default’
VBScript 运行时错误
如果 VBScript 脚本执行系统无法实施的操作,则会产生 VBScript 运行时错误。只有在运行脚本、为变量表达式赋值或
分配内存时,才会产生 VBScript 运行时错误。 以下是65个运行时错误:
错误编号 描述
十进制 十六进制 说明
5 800A0005 无效过程调用或参数
6 800A0006 溢出
7 800A0007 内存不足
9 800A0009 下标越界
10 800A000A 该数组为定长的或临时被锁定
11 800A000B 被零除
13 800A000D 类型不匹配
14 800A000E 字符串空间溢出
17 800A0011 无法执行请求的操作
28 800A001C 堆栈溢出
35 800A0023 未定义 Sub 或 Function
48 800A0030 加载 DLL 错误
51 800A0033 内部错误
52 800A0034 坏文件名或数
53 800A0035 文件未找到
54 800A0036 坏文件模式
55 800A0037 文件已经打开
57 800A0039 设备I/O错误
58 800A003A 文件已经存在
61 800A003D 磁盘空间已满
62 800A003E 输入超出文件尾
67 800A0043 文件太多
68 800A0044 设备不可用
70 800A0046 权限禁用
71 800A0047 磁盘未准备好
74 800A004A 不能用不同的驱动器重新命名
75 800A004B 路径/文件访问错误
76 800A004C 路径未找到
91 800A005B 未设置对象变量
92 800A005C For 循环未初始化
94 800A005E 非法使用 Null
322 800A0142 不能建立所需临时文件
424 800A01A8 需要对象
429 800A01AD ActiveX 部件无法创建对象
430 800A01AE 类不支持自动化
432 800A01B0 在自动化操作中未找到文件名或类名
438 800A01B6 对象不支持该属性或方法
440 800A01B8 Automation错误
445 800A01BD 对象不支持此操作
446 800A01BE 对象不支持指定的参数
447 800A01BF 对象不支持当前的区域设置
448 800A01C0 未找到命名参数
449 800A01C1 参数不可选
450 800A01C2 错误的参数个数或无效的参数属性值
451 800A01C3 对象不是一个集合
453 800A01C5 指定的dll函数未找到
455 800A01C7 代码源锁错误
457 800A01C9 这个键已经是本集合的一个元素关联
458 800A01CA 变量使用了一个 VBScript 中不支持的自动化(Automation)类型
462 800A01CE 远程服务器不存在或不能访问
481 800A01E1 无效图片
500 800A01F4 变量未定义
501 800A01F5 违法的分配
502 800A01F6 脚本对象不安全
503 800A01F7 对象不能安全初始化
504 800A01F8 对象不能安全创建
505 800A01F9 无效的或不合格的引用
506 800A01FA 类未被定义
507 800A01FB 发生异常
5016 800A1398 需要正则表达式对象
5017 800A1399 正则表达式中的语法错误
5018 800A139A 错误的数量词
5019 800A139B 在正则表达式中需要 ’]’
5020 800A139C 在正则表达式中需要 ’)’
5021 800A139D 字符集越界
32811 800A802B 元素未找到




Microsoft VBScript语法错误(0x800A03E9)-->内存不足
Microsoft VBScript语法错误(0x800A03EA)-->语法错误
Microsoft VBScript语法错误(0x800A03EB)-->缺少 ':'
Microsoft VBScript语法错误(0x800A03ED)-->缺少 '('
Microsoft VBScript语法错误(0x800A03EE)-->缺少 ')'
Microsoft VBScript语法错误(0x800A03EF)-->缺少 ']'
Microsoft VBScript语法错误(0x800A03F2)-->缺少标识符
Microsoft VBScript语法错误(0x800A03F3)-->缺少 '='
Microsoft VBScript语法错误(0x800A03F4)-->缺少 'If'
Microsoft VBScript语法错误(0x800A03F5)-->缺少 'To'
Microsoft VBScript语法错误(0x800A03F6)-->缺少 'End'
Microsoft VBScript语法错误(0x800A03F7)-->缺少 'Function'
Microsoft VBScript语法错误(0x800A03F8)-->缺少 'Sub'
Microsoft VBScript语法错误(0x800A03F9)-->缺少 'Then'
Microsoft VBScript语法错误(0x800A03FA)-->缺少 'Wend'
Microsoft VBScript语法错误(0x800A03FB)-->缺少 'Loop'
Microsoft VBScript语法错误(0x800A03FC)-->缺少 'Next'
Microsoft VBScript语法错误(0x800A03FD)-->缺少 'Case'
Microsoft VBScript语法错误(0x800A03FE)-->缺少 'Select'
Microsoft VBScript语法错误(0x800A03FF)-->缺少表达式
Microsoft VBScript语法错误(0x800A0400)-->缺少语句
Microsoft VBScript语法错误(0x800A0401)-->语句未结束
Microsoft VBScript语法错误(0x800A0402)-->缺少整型常数
Microsoft VBScript语法错误(0x800A0403)-->缺少 'While' 或 'Until'
Microsoft VBScript语法错误(0x800A0404)-->缺少 'While', 'Until' 或语句未结束
Microsoft VBScript语法错误(0x800A0405)-->缺少 'With'
Microsoft VBScript语法错误(0x800A0406)-->标识符过长
Microsoft VBScript语法错误(0x800A0407)-->无效数字
Microsoft VBScript语法错误(0x800A0408)-->无效字符
Microsoft VBScript语法错误(0x800A0409)-->未结束的字符串常量
Microsoft VBScript语法错误(0x800A040A)-->注释未结束
Microsoft VBScript语法错误(0x800A040D)-->无效使用 'Me' 关键字
Microsoft VBScript语法错误(0x800A040E)-->'loop' 语句缺少 'do'
Microsoft VBScript语法错误(0x800A040F)-->无效的 'exit' 语句
Microsoft VBScript语法错误(0x800A0410)-->循环控制变量 'for' 无效
Microsoft VBScript语法错误(0x800A0411)-->名称重定义
Microsoft VBScript语法错误(0x800A0412)-->必须是行中的第一个语句
Microsoft VBScript语法错误(0x800A0413)-->不能为 non-ByVal 参数赋值
Microsoft VBScript语法错误(0x800A0414)-->调用子程序时不能使用括号
Microsoft VBScript语法错误(0x800A0415)-->缺少文字常数
Microsoft VBScript语法错误(0x800A0416)-->缺少 'In'
Microsoft VBScript语法错误(0x800A0417)-->缺少 'Class'
Microsoft VBScript语法错误(0x800A0418)-->必须在一个类的内部定义
Microsoft VBScript语法错误(0x800A0419)-->在属性声明中缺少 Let , Set 或 Get
Microsoft VBScript语法错误(0x800A041A)-->缺少 'Property'
Microsoft VBScript语法错误(0x800A041B)-->在所有属性的规范中,变量的数目必须一致
Microsoft VBScript语法错误(0x800A041C)-->在一个类中不允许有多个缺省的属性/方法
Microsoft VBScript语法错误(0x800A041D)-->类的初始化或终止程序没有参数
Microsoft VBScript语法错误(0x800A041E)-->属性的 set 或 let 必须至少有一个参数
Microsoft VBScript语法错误(0x800A041F)-->错误的 'Next'
Microsoft VBScript语法错误(0x800A0420)-->'Default' 只能在 'Property' , 'Function' 或 'Sub' 中指定
Microsoft VBScript语法错误(0x800A0421)-->指定 'Default' 时必须同时指定 'Public' ")
Microsoft VBScript语法错误(0x800A0422)-->只能在 Property Get 中指定 'Default'
Microsoft VBScript 运行时错误(0x800A0005)-->无效的过程调用或参数
Microsoft VBScript 运行时错误(0x800A0006)-->溢出
Microsoft VBScript 运行时错误(0x800A0007)-->内存不足
Microsoft VBScript 运行时错误(0x800A0009)-->下标越界
Microsoft VBScript 运行时错误(0x800A000A)-->该数组为定长的或临时被锁定
Microsoft VBScript 运行时错误(0x800A000B)-->被零除
Microsoft VBScript 运行时错误(0x800A000D)-->类型不匹配
Microsoft VBScript 运行时错误(0x800A000E)-->字符串空间不够
Microsoft VBScript 运行时错误(0x800A0011)-->不能执行所需的操作
Microsoft VBScript 运行时错误(0x800A001C)-->堆栈溢出
Microsoft VBScript 运行时错误(0x800A0023)-->未定义过程或函数
Microsoft VBScript 运行时错误(0x800A0030)-->加载 DLL 时出错
Microsoft VBScript 运行时错误(0x800A0033)-->内部错误
Microsoft VBScript 运行时错误(0x800A0034)-->错误的文件名或号码
Microsoft VBScript 运行时错误(0x800A0035)-->文件未找到
Microsoft VBScript 运行时错误(0x800A0036)-->错误的文件模式
Microsoft VBScript 运行时错误(0x800A0037)-->文件已经打开
Microsoft VBScript 运行时错误(0x800A0039)-->设备 I/O 错误
Microsoft VBScript 运行时错误(0x800A003A)-->文件已存在
Microsoft VBScript 运行时错误(0x800A003D)-->磁盘已满
Microsoft VBScript 运行时错误(0x800A003E)-->输入超出了文件尾
Microsoft VBScript 运行时错误(0x800A0043)-->文件过多
Microsoft VBScript 运行时错误(0x800A0044)-->设备不可用
Microsoft VBScript 运行时错误(0x800A0046)-->没有权限
Microsoft VBScript 运行时错误(0x800A0047)-->磁盘没有准备好
Microsoft VBScript 运行时错误(0x800A004A)-->重命名时不能带有其他驱动器符号
Microsoft VBScript 运行时错误(0x800A004B)-->路径/文件访问错误
Microsoft VBScript 运行时错误(0x800A004C)-->路径未找到
Microsoft VBScript 运行时错误(0x800A005B)-->对象变量未设置
Microsoft VBScript 运行时错误(0x800A005C)-->For 循环未初始化
Microsoft VBScript 运行时错误(0x800A005E)-->无效使用 Null
Microsoft VBScript 运行时错误(0x800A0142)-->不能创建所需的临时文件
Microsoft VBScript 运行时错误(0x800A01A8)-->缺少对象
Microsoft VBScript 运行时错误(0x800A01AD)-->ActiveX 部件不能创建对象
Microsoft VBScript 运行时错误(0x800A01AE)-->类不能支持 Automation 操作
Microsoft VBScript 运行时错误(0x800A01B0)-->Automation 操作中文件名或类名未找到
Microsoft VBScript 运行时错误(0x800A01B6)-->对象不支持此属性或方法
Microsoft VBScript 运行时错误(0x800A01B8)-->Automation 操作错误
Microsoft VBScript 运行时错误(0x800A01BD)-->对象不支持此操作
Microsoft VBScript 运行时错误(0x800A01BE)-->对象不支持已命名参数
Microsoft VBScript 运行时错误(0x800A01BF)-->对象不支持当前区域设置
Microsoft VBScript 运行时错误(0x800A01C0)-->未找到已命名参数
Microsoft VBScript 运行时错误(0x800A01C1)-->参数是必选项
Microsoft VBScript 运行时错误(0x800A01C2)-->错误的参数个数或无效的参数属性值
Microsoft VBScript 运行时错误(0x800A01C3)-->对象不是一个集合
Microsoft VBScript 运行时错误(0x800A01C5)-->未找到指定的 DLL 函数
Microsoft VBScript 运行时错误(0x800A01C7)-->代码资源锁定错误
Microsoft VBScript 运行时错误(0x800A01CA)-->变量使用了一个 VBScript 中不支持的 Automation 类型
Microsoft VBScript 运行时错误(0x800A01CE)-->远程服务器不存在或不可用
Microsoft VBScript 运行时错误(0x800A01E1)-->无效图片
Microsoft VBScript 运行时错误(0x800A01F4)-->变量未定义
Microsoft VBScript 运行时错误(0x800A01F5)-->非法赋值
Microsoft VBScript 运行时错误(0x800A01F6)-->对象不能安全地使用 Script 编程
Microsoft VBScript 运行时错误(0x800A01F7)-->对象不能安全初始化
Microsoft VBScript 运行时错误(0x800A01F8)-->对象不能安全创建
Microsoft VBScript 运行时错误(0x800A01F9)-->无效的或无资格的引用
Microsoft VBScript 运行时错误(0x800A01FA)-->类没有被定义
Microsoft VBScript 运行时错误(0x800A01FB)-->出现一个意外错误
Microsoft VBScript 运行时错误(0x800A1398)-->缺少常规表达式对象
Microsoft VBScript 运行时错误(0x800A1399)-->常规表达式语法错误
Microsoft VBScript 运行时错误(0x800A139A)-->错误的数量词
Microsoft VBScript 运行时错误(0x800A139B)-->常规表达式中缺少 ']'
Microsoft VBScript 运行时错误(0x800A139C)-->常规表达式中缺少 ')'
Microsoft VBScript 运行时错误(0x800A139D)-->字符集越界
Microsoft VBScript 运行时错误(0x800A802B)-->未找到元素
ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件
Microsoft OLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)
Microsoft OLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
Microsoft OLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)
Microsoft OLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)
Microsoft OLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)
Microsoft OLEDBProviderforODBCDrivers(0x80004005)-->打开数据库出错,没有在指定目录发现数据库
Microsoft OLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表
ODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表/字段错误或处于编辑状态,或不存在于conn打开的数据库中)
ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作)
ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(引用了一个不存在的字段名)
ADODB.Recordset(0x800A0E7D)-->conn定义错误
ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据
ADODB.Recordset(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义)
---------------------------------------
大部分的ADO的错误码对应的含义
除了在 Error 对象和 Errors 集合中说明的提供者错误之外,ADO 本身也将错误返回到
运行时环境的异常处理机制之中。使用编程语言的错误捕获机制(如 Microsoft?
Visual Basic? 中的 On Error 语句)可捕获及处理下列错误。下表将同时显示十
进制和十六进制错误代码值。

常量名称 编号 说明
adErrInvalidArgument 3001 0x800A0BB9 应用程序使用的参数其类型错误、超出可接受
的范围或者与其他参数冲突。
adErrNoCurrentRecord 3021 0x800A0BCD BOF 或 EOF 为 True,或者当前记录已经删除
。应用程序请求的操作需要当前记录。
adErrIllegalOperation 3219 0x800A0C93 应用程序请求的操作不允许出现在该上下文
中 adErrInTransaction 3246 0x800A0CAE 在事务中应用程序无法显式关闭
Connection 对象。
adErrFeatureNotAvailable 3251 0x800A0CB3 提供者不支持应用程序请求的操作。
adErrItemNotFound 3265 0x800A0CC1 ADO 无法在对应于应用程序请求的名称或顺序引
用的集合中找到对象。
adErrObjectInCollection 3367 0x800A0D27 无法追加,对象已经在集合中。
adErrObjectNotSet 3420 0x800A0D5C 应用程序引用的对象不再指向有效的对象。
adErrDataConversion 3421 0x800A0D5D 应用程序使用了不符合对当前操作的值类型。
adErrObjectClosed 3704 0x800A0E78 如果对象关闭,则不允许应用程序请求的操作。
adErrObjectOpen 3705 0x800A0E79 如果对象打开,则不允许应用程序请求的操作。
adErrProviderNotFound 3706 0x800A0E7A ADO 找不到指定的提供者。
adErrBoundToCommand 3707 0x800A0E7B 应用程序无法用 Command 对象将 Recordset
对象的 ActiveConnection 属性更改为它的来源数据。
adErrInvalidParamInfo 3708 0x800A0E7C 应用程序错误地定义了 Parameter 对象。
adErrInvalidConnection 3709 0x800A0E7D 应用程序通过引用关闭或无效的
Connection 对象来请求对对象的操作。

*****************************************************************************
ASP错误代码说明
错误代码 错误消息 说明
ASP0100 Out of memory 内存不足(不能分配要求的内存
ASP0101 Unexpected error 意外错误
ASP0102 Expecting string input 缺少字符串输入
ASP0103 Expecting numeric input 缺少数字输入
ASP0104 Opration not allowed 操作不允许
ASP0105 Index out of ange 索引超出范围(一个数组索引超届)
ASP0106 Type Mismatch 类型不匹配(遇到的数据类型不能被处理)
ASP0107 Stack Overflow 栈溢出(正在处理的数据超出了允许的范围)
ASP0115 Unexpected error 意外错误(外部对象出现可捕获的exception_name错误,脚
本不能继续运行)
ASP0177 Server.CreateObject Failed 服务器创建对象失败(无效的progid)
ASP0190 Unexpected error 意外错误(当释放外部对象,产生可捕获的错误)
ASP0191 Unexpected error 意外错误(在外部对象的OnStartPage方法中产生可捕获的错
误)
ASP0192 Unexpected error 意外错误(在外部对象的OnEndPage方法中产生可捕获的错误
发信人: longsi——现代速龙(时速200公里),信区:X-COM基地
ASP0177 Server.CreateObject Failed 服务器创建对象失败(无效的progid)
发信站: 侏罗纪公园(2050年2月31日18:30:00 星期六),站内信件 获的错误)
ASP0191 Unexpected error 意外错误(在外部对象的OnStartPage方法中产生可捕获的错
误)
ASP0192 Unexpected error 意外错误(在外部对象的OnEndPage方法中产生可捕获的错误
)
ASP0193 OnStartPage Failed 在外部对象的OnStartPage方法中产生错误
ASP0194 OnEndPage Failed 在外部对象的OnEndPage方法中产生错误
ASP0240 Script Engine Exception 脚本引擎从object_name对象中抛出exception_anme
异常
ASP0241 CreateObject Exception object_name 对象的CreatObject方法引起了excepti
on_name异常
ASP0242 Query OnStartPage nterface 查询对象Object_name的OnsException

**********************************************

[转]ASP运行中常见的错误类型及解决方法(2008-06-11 20:29:27)转载
标签:x800rsmicrosoft编译器if文化 分类:杂侃闲谈
错误类型:
ADODB.Field (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
原因:你在利用SQL查找数据库的记录时,查找结果为空,而且你没有对空记录的情况做出处理。
解决:1 如果你不相信查找结果为空,那你应该考虑你的SQL语句是否正确;2 如果确实有空的情况,那你应该添加"if rs.eof then"或者"do while not rs.eof"之类的语句,对eof的情况进行处理。
错误类型:
(0x80020009)
发生意外。
原因:也是在利用SQL查找数据库记录时,查找结果为空,而且你在后面的代码中调用了rs("aa")之类的记录
解决:要么同上,加上rs.eof的判断和处理,要么就是你的SQL语句有误,导致记录查不出来,也就无法在后来使用rs("aa")的记录了。
错误类型:
Active Server Pages, ASP 0126 (0x80004005)
找不到包含文件 'xxx.asp'。
原因:就如错误提示所说,不存在这个包含文件。
解决:如果你确定有这个文件,那么就是你的路径写错了,比如说其实他相对于网站根目录的路径应该是inc/xxx.asp,那么include里面就应该写inc/xxx.asp,而不仅仅是xxx.asp。附:include的写法是:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
原因:这个在XP服务器上非常常见,属于服务器的配置问题,或者说是用户的权限问题。
解决:如果仅仅是在本机上调试出现的错误,则右键点击网站所在的文件夹,点击"共享和安全...",在"安全"中点添加...,写入everyone,然后再使这个用户的权限为所有,即除了第一个外全部打勾,确定之后再刷新就可以用了。(注:如果找不到“安全”选项,则在任意一个文件夹下点击“工具”,然后是“文件夹选项”--“查看”,在“使用简单文件共享”一栏把勾去掉即可)
错误类型:
Microsoft VBScript 编译器错误 (0x800A0401)
语句未结束
原因:语法错误。
解决:按系统所提示的行来检查。如果提示的恰好是本页的最后一行,则很有可能是if语句忘记写"end if"啦,select语句忘记写"end select"啦,总之是需要end的地方没有end,导致服务器找不到语句的结尾,只好在最后一行显示错误。
错误类型:
Microsoft JET Database Engine (0x80040E10)
至少一个参数没有被指定值。
原因:在写SQL语句的时候,我们经常会调用一些参数,很可能这些参数中有一个没有被赋值。
解决:检查每一个参数的值是否真的传递过来了,很可能有些参数其实是"",这样的参数去索引数据库当然是不行的。
错误类型:
Microsoft JET Database Engine (0x80040E37)
Microsoft Jet 数据库引擎找不到输入表或查询 'AA'。 确定它是否存在,以及它的名称的拼写是否正确。
原因:不存在这个表。
解决:应该是你写错了表名,或者连错了数据库?再仔细核对一下吧!
错误类型:
Microsoft VBScript 运行时错误 (0x800A000D)
类型不匹配: '[string: ""]''
原因:是因为你的变量的类型是字符串型的,而你却当作数字或者其他类型来使用。
解决:比如你需要数字的变量用来计算i=i+1等数学运算,那么应该在变量上使用cint(变量名),强制转换为数字型,两个变量之间作比较也一定要是相同的类型,因此也需要转换,方法同上。
错误类型:
Microsoft JET Database Engine (0x80040E07)
标准表达式中数据类型不匹配。
原因:一般也是在写SQL语句时发生了错误,即把数字型和字符串型的变量混淆了。
解决:很好办,试一试把SQL中变量加了''的去掉单引号,或者把原先认为是数字的加上'',再查看效果。
错误类型:
Microsoft VBScript 运行是错误(0x800A01A8)
缺少对象:”
原因:很有可能是你没有对rs对象进行定义。
解决:别忘了写set rs=server.CreateObject("adodb.recordset"),这样可以定义对象;或者直接不用这种写法,直接用conn.execute("SQL")这样会方便得多,也不用考虑对象问题。
错误类型:
Microsoft VBScript 运行时错误 (0x800A005E)
无效使用 Null: 'Replace'
原因:无效使用函数的情况也比较多见,包括Split等,这个道理也比较简单,就是因为你Replace的内容是空的。
解决:最好加一句IF检验一下你要replace的内容是否为空。

ASP常用错误类型
ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件
MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)
MicrosoftOLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)
MicrosoftOLEDBProviderforODBCDrivers(0x80004005) -->打开数据库出错,没有在指定目录发现数据库
MicrosoftOLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表
MicrosoftVBscript运行时错误(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义)
MicrosoftVBscript运行时错误(0x800A01C2)-->vbscript脚本错误(vbscript语句出错)
MicrosoftVBscript运行时错误(0x800A0006)-->vbscript脚本错误(溢出错误)
MicrosoftVBscript编译器错误(0x800A040E)-->缺少loop
MicrosoftVBscript编译器错误(0x800A03EA)-->缺少if或endif
MicrosoftVBscript编译器错误(0x800A03EE)--> 语句未结束(缺少")")
MicrosoftVBscript编译器错误(0x800A03F6)-->if语句出错(缺少endif)
MicrosoftVBscript运行时错误(0x800A005B)-->缺少set
MicrosoftVBscript运行时错误(0x800A0005)-->变量未定义
MicrosoftVBscript编译器错误(0x800A03F9)-->if语句缺少then
MicrosoftVBscript编译器错误(0x800A0411)-->dim语句定义错误

ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作)
ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句)
ADODB.Recordset(0x800A0CC1) -->rs对像出错(引用了一个不存在的字段名)
ADODB.Recordset(0x800A0E7D)-->conn定义错误
ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据
ADODB.Stream (0x800A0BBC)---上传文件时发生错误--找不到上传的目录

(0x80020009)---当前rs指针所指向记录的字段值为NULL,不能使用

ADODB.Field (0x80020009)---当前rs指针所指向记录的字段值为NULL,不能输出
ADODB.Field (0x800A0BCD)---没有找到相关记录,不能用rs("字段")取值

ADODB.Recordset (0x800A0BB9)---没有打开数据库(没有打开conn)(rs已经打开一个表,不能再用rs打开别的表)
ADODB.Recordset (0x800A0BCD)---记录指针已经指向表尾,不能再执行rs.movenext指令
ADODB.Recordset (0x800A0C93)---更改或添加完记录没有更新(rs.更新)就关闭链接(rs.close)
ADODB.Recordset (0x800A0CB3)---数据库操作错误(表在读的方式打开不能添加数据)
ADODB.Recordset (0x800A0CC1)---数据库操作错误(在打开的表中找不到指定的字段)
ADODB.Recordset (0x800A0E78)---数据库操作错误(rs没有打开表不能用rs.close结束)(rs已经关闭,不能再用rs读取数据)
ADODB.Recordset (0x800A0E79)---数据库操作错误(rs已经打开一个表,不能再打开别的表)
ADODB.Recordset (0x800A0E7D)---打开表错误(缺少参数)(有可能是忘了写",conn,1,1")

Active Server Pages, ASP 0126 (0x80004005)---找不到包含文件('conn.asp')

Microsoft JET Database Engine (0x80004005)---表已经被打开(或在设计表时),不能再执行打开操作
Microsoft JET Database Engine (0x80040E07)---查询条件错误(对字符型数据查询时要用单引号括起要查询的字符串)
Microsoft JET Database Engine (0x80040E10)---在指定的表中找不到此字段
Microsoft JET Database Engine (0x80040E14)---变量的值为空(或缺少关键字)
(有可能是格式写错了,没有where语句却多写了一个where)(没有传过来数据)
(可能是用了系统关键字,如果表名用user,就会出现此问题)
Microsoft JET Database Engine (0x80040E37)---找不到要打开的表

Microsoft VB脚本 运行时错误 (0x800A0006)---类型转换错误[cint(date())]
Microsoft VB脚本 运行时错误 (0x800A0009)---
Microsoft VB脚本 运行时错误 (0x800A000D)---类型转换错误(可能是传数据时格式写错了)(把rs--定义的adodb.recordset--写错了,系统错认为函数名了)
Microsoft VB脚本 运行时错误 (0x800A0046)---
Microsoft VB脚本 运行时错误 (0x800A005B)---不能直接用"="给对象赋值,要用"set 对象名=值"
Microsoft VB脚本 运行时错误 (0x800A005E)---字符替换出现错误
Microsoft VB脚本 运行时错误 (0x800A01A8)---rs已经关闭或是没有建立rs,没有打开conn
(rs没有打开表,不能执行关闭操作rs.close)(此表已经被打开,不能再打开)
Microsoft VB脚本 运行时错误 (0x800A01C2)---错误的命令行(不能执行的命令)

Microsoft VB脚本 编译器错误 (0x800A03EA)---语句格式错误(只有else,找不到if )
Microsoft VB脚本 编译器错误 (0x800A03EE)---语句格式错误(可能是少了一个括号)
Microsoft VB脚本 编译器错误 (0x800A03F2)---语句格式错误
[if int(request(new))=1 then]--应该为:request("new")
Microsoft VB脚本 编译器错误 (0x800A03F6)---语句格式错误(只有if,找不到end if)
Microsoft VB脚本 编译器错误 (0x800A03F9)---语法错误(else if中间有空格,缺少and,缺少then...)
Microsoft VB脚本 编译器错误 (0x800A03FA)---语句格式错误(while循环语句中,只有while,没有wend)
Microsoft VB脚本 编译器错误 (0x800A0400)---语法错误--语句不完整-语句块中有结尾没头(只有end select,找不到select case)(只有end if,找不到if)
Microsoft VB脚本 编译器错误 (0x800A0401)---语句格式错误[rs.open="select * from sou_slwz where id in ("&selectbookid&")",conn,1,3]
Microsoft VB脚本 编译器错误 (0x800A0408)---类型不匹配或语句格式写错了
Microsoft VB脚本 编译器错误 (0x800A0411)---变量已经定义过
Microsoft VB脚本 编译器错误 (0x800A0414)---

Active Server Pages, ASP 0126 (0x80004005)---找不到包含文件(如找不到conn.asp)
Active Server Pages 错误 'ASP 0116'---缺少关闭脚本分隔符(如只有"<%"而没有"%>")
错误类型:
Microsoft VBScript 运行时错误 (0x800A000D)
/jk/vote/votesave.asp, 第 12 行
5 v_optionname="v_option"&votevalues
12 rs(v_optionname)=rs(v_optionname)+1
原因:rs的字段名不能是变量
错误类型:
Microsoft VBScript 运行时错误 (0x800A000D)
/jk/vote/votesave.asp, 第 18 行
17if votevalues=1 then
18rs("v_option1")=rs("v_option1")+1
原因:rs("v_option1")是字符串,不是数值,不能做加法运算
Microsoft VBScript 编译器错误 (0x800A0411)
/jk/index.asp, 第 9 行, 第 4 列
function checkurl(fstring)
dim fstring,len2
---^
解决:在函数中不能定义fstring这一变量

Microsoft VBScript 编译器错误 (0x800A0411)
/jk/service/techlist.asp, 第 108 行, 第 4 列
dim pagespan
---^
原因:重复定义

错误类型:
Microsoft VBScript 运行时错误 (0x800A005E)
/jk/vote/votesave.asp, 第 16 行
16 rs("v_count1")=CLng(rs("v_count1"))+1
原因:rs("v_count1")的初始值为null
Microsoft OLE DB Provider for ODBC Drivers 错误 ''80040e21''
多步 OLE DB 操作产生错误。请检查每个 OLE DB 状态值。没有工作被完成。
/bangong/public/adddoc3.asp,行45

44 rsnew.addnew
45 rsnew("fileid")=fieldid1
46 rsnew("send")=session("name")
原因:rsnew("fileid")已经设定为标识种子,而fieldid1是人为指定的id,当最后一条纪录被删除后,重新添
加的id必须是最末的id+2而不是id+1,因此出错。
修改:去掉rsnew("fileid")=fieldid1一行

错误类型:
Microsoft VBScript 编译器错误 (0x800A0400)
/jk/product/newproduct.asp, 第 284 行, 第 32 列
if rs("data").actualsize>0 then and rs("prodcat")=3 then
原因:语法错误,多了一个then
错误类型:
请求对象, ASP 0208 (0x80004005)
调用 BinaryRead 后不能使用一般 Request 收集。
/jk/manager/fonews/fonewsadd_3.asp, 第 21 行
21 str2="select * from tblfonews where ID="&request("ID")
错误类型:
请求对象, ASP 0208 (0x80004005)
调用 BinaryRead 后不能使用一般 Request 收集。
/jk/manager/fonews/fonewsadd_3.asp, 第 64 行
64 ">查看记录
解决:用id2=request("ID")来代替request("ID")
21 str2="select * from tblfonews where ID="&id2
64 查看记录

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
/jk/service/serlist.asp, 第 134 行
sql2="select * from sevice where ser_city="&request("city")&""
rs2.open sql2,conn,1,3
原因:sql语句错误,sevice应为service

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
/jk/service/serlist.asp, 第 174 行
Microsoft OLE DB Provider for ODBC Drivers 错误 ''80040e21''
ODBC 驱动程序不支持所需的属性。
/product/prodlist.asp,行338
sqls="select series_id,series_name from prodseries where series_id="&rs("series_id")&""
338 rss.open sqls,conn,1,1
原因:prodseries 表不存在,改为jke_prodseries
Microsoft OLE DB Provider for ODBC Drivers 错误 ''80040e21''
原因:正在用access修改数据库,不能访问
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E37)
/jk/service/serlist.asp, 第 134 行
sql2="select * from service where ser_city="&request("city")&""
rs2.open sql2,conn,1,3
原因:ser_city=''"&request("city")&"''"必须加单引号
错误类型:
Active Server Pages, ASP 0113 (0x80004005)
超过了脚本运行的最长时间。您可以通过指定 Server.ScriptTimeOut 属性值来修改此限制或用 IIS 管理工具
来修改它。
/zs/index.asp
原因:数据库无法连接

错误类型:
Microsoft VBScript 编译器错误 (0x800A0401)
/dv/chkuser.asp, 第 8 行, 第 61 列
membername=checkStrrequest.cookies("VistaGroups")("username"))
------------------------------------------------------------^
改为:membername=checkStr(request.cookies("VistaGroups")("username"))

错误类型:
Microsoft VBScript 编译器错误 (0x800A0411)
/jk/manager/product/seriesedit.asp, 第 39 行, 第 17 列
dim strconn,conn,rs,sql,series_name,meno,lockpic,prodname,l,ch,i,prodcat
----------------^
原因:参数重复定义

错误类型:
Microsoft VBScript 编译器错误 (0x800A0408)
/jk/manager/product/seriesedit.asp, 第 133 行, 第 45 列
if trim(rs("prodcat"))="" then response.write " selected" --------------------- 本文来自 xiaoxiaorenky 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xiaoxiaore ... 123?utm_source=copy
回复

使用道具 举报

29

主题

54

回帖

216

积分

中级会员

Rank: 3Rank: 3

积分
216
发表于 2020-5-5 16:18:14 | 显示全部楼层
哇,太详细了,这得好好看看
回复

使用道具 举报

0

主题

167

回帖

342

积分

中级会员

Rank: 3Rank: 3

积分
342
发表于 2022-4-15 16:04:38 | 显示全部楼层
不错 支持一个  详细
回复

使用道具 举报

0

主题

217

回帖

541

积分

中级会员

Rank: 3Rank: 3

积分
541
发表于 2022-7-20 20:38:33 | 显示全部楼层
不错 支持一个  详细
回复

使用道具 举报

0

主题

217

回帖

541

积分

中级会员

Rank: 3Rank: 3

积分
541
发表于 2022-7-20 20:38:51 | 显示全部楼层
不错 支持一个  详细
回复

使用道具 举报

0

主题

217

回帖

541

积分

中级会员

Rank: 3Rank: 3

积分
541
发表于 2022-7-20 20:39:47 | 显示全部楼层
不错 支持一个  详细
回复

使用道具 举报

0

主题

217

回帖

541

积分

中级会员

Rank: 3Rank: 3

积分
541
发表于 2022-7-20 20:40:03 | 显示全部楼层
不错 支持一个  详细
回复

使用道具 举报

0

主题

217

回帖

541

积分

中级会员

Rank: 3Rank: 3

积分
541
发表于 2022-7-20 20:40:30 | 显示全部楼层
不错 支持一个  详细
回复

使用道具 举报

0

主题

217

回帖

541

积分

中级会员

Rank: 3Rank: 3

积分
541
发表于 2022-7-20 20:40:47 | 显示全部楼层
不错 支持一个  详细
回复

使用道具 举报

0

主题

217

回帖

541

积分

中级会员

Rank: 3Rank: 3

积分
541
发表于 2022-7-20 20:41:31 | 显示全部楼层
不错 支持一个  详细
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|江湖论坛

GMT+8, 2024-4-20 20:36 , Processed in 0.140643 second(s), 18 queries .

Powered by Discuz! X3.4

© Copyright 2005-2025 WwW.XmvZ.CoM All Rights Reserved 小马江湖总站 保留所有权利

快速回复 返回顶部 返回列表