45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网络编程 > ASP教程 >

VBScrip运行时错误

电脑软硬件应用网 45IT.COM 时间:2011-10-25 13:41 作者:佚名
  如果 VBScript 脚本执行系统无法实施的操作,则会产生 VBScript 运行时错误。只有在运行脚本、为变量表达式赋值或分配内存时,才会产生 VBScript 运行时错误。
十进制 十六进制 说 明(详细说明见表格末)
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 元素未找到

无效过程调用或参数

在过程调用中传递了一个无效参数。这可能是由于参数超出范围,或包含无效数据。另外,有可能在不适当的时间对过程进行了调用。

要纠正该错误

  • 验证传递给过程的参数是有效的。
  • 验证在适当的时间调用函数。

溢出

试图赋给变量的赋值太大,这是因为:

  • 赋值,计算或者数据类型转换结果很大以至于不能代表此种类型变量值的范围。
  • 属性赋值超出了属性所能接受的最大值。
  • 整数类型数字的计算结果大于一个整数。

要纠正该错误

  • 将值赋给一个较大取值范围的变量类型。
  • 确保赋值符合属性范围。

内存不足

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

要纠正该错误

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

下标越界

要访问的数组中元素数目比期望的少。例如试图从一个定义为10个元素的数组中访问到11个元素。.

要纠正该错误

  • 确保你的代码中包含检察元素是否越界的边界。
  • 重新定义一个更大的数组大小至需要的维数。

该数组为定长的或者临时被锁定

试图用 ReDim 函数来改变一个定长数组的元素数目。动态数组或者 Variant 变量内的数组可以被暂时的锁定。

要纠正该错误

  • 如果在过程内部定义数组,用 ReDim 函数将其从静态变为动态。
  • 如果在模块水平上说明数组,不要指定数组中元素的数目。

被零除

创建一个试图将数字被零除的表达式。被零除得到无穷大(不可用)结果。

要纠正该错误

  • 检查表达式的输入或大小写错误。

类型不匹配

试图比较不相容数据类型的值。例如,比较一个字符串和一个数值。

要纠正该错误

  • 当进行比较时,要确保数据类型相同。
  • 用一个的数据类型来计算另一个的值,然后重新比较。

字符串空间溢出

试图创建字符串对象时系统内存被用尽。这可能是因为动态分配数组越来越大或对象实例的数目过大。

要纠正该错误

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

无法执行请求的操作

当主机使脚本引擎中断时无法继续执行脚本。主机未指定明确的返回错误代码。

要纠正该错误

  • 该错误的解决与主机有关。

堆栈溢出

过程嵌套太深。每次代码从一个过程跳到另一个过程,本地变量的内容被放到堆栈中。堆栈是一个大小随着要求执行的脚本动态增长和缩小的内存工作区域。

要纠正该错误

  • 检查没有嵌套很深的过程。
  • 确保递归(重入)过程没有经常的调用自身。
  • 确保递归过程被正常终止。

未定义 Sub 或 Function

试图调用一个不存在的过程。

要纠正该错误

  • 检查过程的拼写确保输入正确。

加载 DLL 错误

应用程序引用了一个无法找到的DLL,一个DLL可能引用了另一个无法找到的DLL。

要纠正该错误

  • 确保DLL存在。
  • 使用全路径名引用DLL。
  • 获得被引用的DLL并使其对其他DLL有效。

内部错误

发生内部错误。

要纠正该错误

  • 除非这是由Raise 方法产生,请与微软产品服务联系报告出现错误消息的情况。

未设置对象变量

试图使用无效对象的对象属性。如果遗漏了 Set语句,将在对象引用产生错误。

要纠正该错误

  • 为对象变量指定一个引用。

For 循环未初始化

在脚本中执行跳到For...Next 循环中间的结果。由于For...Next 循环计数必须被初始化所以产生错误。下面演示了一个For...Next 循环的正确结构。

For counter = start To end [Step step]      [statements]      [Exit For]      [statements]  Next

要纠正该错误

  • 移去跳转至For...Next 循环的语句。
  • 确保For...Next循环包含了所有必须的部分。

非法使用 Null

试图获得一个为Null Variant变量的值。你只能获得包含有效值的Variant 变量的值。Null 是一个 Variant 一个用来指示一个数据项不包含任何有效数据的子类型。

要纠正该错误

  • 确保变量包含有效数据。

需要对象

提供的对象无效(或无法认为是一个对象)。对属性和方法的引用需要一个显式的对象限定符。

要纠正该错误

  • 提供一个对象限定符。
  • 检查对象限定符的拼写。

ActiveX 部件无法创建对象

由于对象类未在系统注册表中注册或者是一个或多个相关的动态链接库无效(DLLs), VBScript 5.5运行时无法初始化对象。另外一种可能情况是,由于未找到或是已经损坏,对象所需的DLL不可用。

要纠正该错误

  • 确保所有相关的DLLs有效。例如,数据存取对象(DAO)所需的DLLs在不同的平台下是不同的。你可能不得不返回到安装程序查找该对象。
  • Internet Explorer可能试图创建对象,但是在Internet Explorer中没有正确的安全许可。重置Internet Explorer 安全设置并重试。

类不支持自动化

试图操作一个并不支持自动化的对象属性或方法。可以创建并将指针传递给不支持自动化的对象,但是不能获取它的属性和方法。

要纠正该错误

  • 检查创建对象应用程序的文档中关于该类自动化使用的限制。

注意 对象可能已经通过使用CreateObject 被创建,但可能已经通过主机对象模型被引入。


在自动化操作中未找到文件名或类名

使用GetObject 函数,但是将一个不可识别的类或文件名作为参数。GetObject 函数要求包含要获取的对象的文件的完整的路径和名称,或者是在系统中注册过的类名称。

要纠正该错误

  • 检查名称的拼写错误,然后重试。
  • 确保class 参数的名称与在系统中注册的相匹配。

对象不支持该属性或方法

对该自动化对象指定了一个并不存在的属性或方法。不是所有的对象都支持所有的属性和方法。

要纠正该错误

  • 检查属性和方法以确保没有打字错误。
  • 参见对象的文档获取更多的信息。

对象不支持此操作

试图引用该对象不支持的一个方法或属性。不是所有的对象支持所用的操作。

要纠正该错误

  • 检查属性和方法以确保没有打字错误。
  • 参见对象的文档获取更多的信息。

对象不支持当前的区域设置

试图操作一个不支持当前区域设置的对象。区域设置是和给定语言以及国家/地区相对应的一系列信息。本地影响预定义程序项的语言和本地特定设置。以下两种情况时本地信息很重要:

  • code locale 影响语言项例如关键词,并且定义本地特定设置例如小数和列表分割符,日期格式和字符排列顺序。
  • system locale 影响本地相关的功能执行。例如,当显示数字或者将字符串转换为日期时。使用操作系统提供的控制面板工具来设定系统。

要纠正该错误

  • 检查对象支持的区域设置。

未找到命名参数

调用一个过程并指定一个特别的参数,但是过程未被定义为接受以为名称的参数。除非在过程定义中出现,一个命名参数不能在过程调用中使用。

要纠正该错误

  • 检查参数名称是否正确拼写,然后再试着调用过程。

参数不可选

调用过程但是参数数量错误。传递给过程的参数的数量必须与过程定义的参数数量相同。

要纠正该错误

  • 检查函数符号确保提供了所有必须的参数。

错误的参数个数或无效的参数属性值

调用过程时如果:

  • 错误的过程名称,

或者,

  • 过程中参数数目错误,

或者,

  • 参数类型错误。

传递给过程的参数数目必须与过程定义中的参数数目相符。

要纠正该错误

  • 检查以确保传递给过程的参数列表与过程定义或声明中的相符。

对象不是一个集合

试图对一个不是 Collection 类型的对象进行只对 Collection 对象有效的操作。有些属性、方法和操作仅可应用于 Collection 对象。Collection 对象是包含一组互相关联的对象的一种对象。一旦集合中发生了改变,一个对象在 Collection 对象中的位置也会发生改变;因此,Collection 对象中的任何一个对象的位置都可能变化。

要纠正该错误

  1. 检查对象或属性名称的拼写。
  2. 验证对象是一个Collection 对象。
  3. 查看用来向集合中添加该对象的 Add 方法,确保语法正确且任何标识符的拼写都正确。

变量使用了 VBScript 不支持的自动化类型

试图使用类型库或者对象库中不被支持的数据类型,任何一门编程语言都不能使用类型库或对象库中的所有变量。

要纠正该错误

  • 只使用VBScript识别的变量类型。

远程服务器不存在或者不能访问

CreateObject函数 来建立一个远程机器的对象,但是调用失败,这是因为无法访问远程服务器或者没有包含特定的类。

要纠正该错误

  • 检验远程服务器的名字是否正确。
  • 检验远程服务器的 DCOM 可用。
  • 使用 dcomcnfg 验证安全权限是否允许建立对象。

无效图片

试图加载一个无法识别格式的图像。有效格式包括位图(*.bmp),图标(*.ico),以及Windows 元文件(*.wmf)。

要纠正该错误

  • 确保要加载的图像文件的格式是有效的。

变量未定义

在脚本开始处用Option Explicit 语句,后来又使用一个未被说明的变量名称。当使用Option Explicit 语句时,必须用DimPrivatePublic或者ReDim语句显式地说明所有的变量。

要纠正该错误

  • 使用Option Explicit 语句时, 确保用Dim, Private, Public, or ReDim语句定义了所有的变量。

脚本对象不安全

试图使用未被标识为脚本安全的对象。对象创建是否安全由主机决定。总的来说,允许不信任脚本进行有害操作(例如操作硬盘)的对象是不安全的。

例如,使用作为客户端的Microsoft Internet Explorer 运行 FileScriptingObject 是不安全的,但是可以在带有Windows Script Host的本地机器使用该对象。

要纠正该错误

  • 确保在使用一个安全的对象。
  • 与对象开发者联系看是否为安全版本。
  • 阅读对象文档发现该对象是否安全。

对象不能安全初始化

试图使用未被标识为初始化安全的对象。对象创建是否安全由主机决定。总的来说,允许不信任脚本进行有害操作(例如操作硬盘)的对象是不安全的。

例如,使用作为客户端的Microsoft Internet Explorer 运行 FileScriptingObject 是不安全的,但是可以在带有Windows Script Host的本地机器使用该对象。

要纠正该错误

  • 确保在使用一个安全的对象。
  • 与对象开发者联系看是否为安全版本。
  • 阅读对象文档发现该对象是否安全。

对象不能安全创建

试图使用一个未被标识为安全创建的对象。对象创建是否安全由主机决定。总的来说,允许不信任脚本进行有害操作(例如操作硬盘)的对象是不安全的。

例如,使用作为客户端的Microsoft Internet Explorer 运行 FileScriptingObject 是不安全的,但是可以在带有Windows Script Host的本地机器使用该对象。

要纠正该错误

  • 确保在使用一个安全的对象。
  • 与对象开发者联系看是否为安全版本。
  • 阅读对象文档发现该对象是否安全。

无效或不合格的引用

试图对不止一个对象使用With语句。With语句只能被非空对象使用。下面演示了一个With 块的正确结构。

With object statements End With

要纠正该错误

  • With 语句指定一个对象。

类未定义

引用未定义(通过NewSet语句)的类。

要纠正该错误

  • 确保在引用类之前已经定义。

发生异常

脚本调用COM对象,然后产生异常。

要纠正该错误

  • 除非该调用由 Raise 方法产生,请与产生错误的COM对象开发人员联系。
  • 请与微软产品服务联系报告出现错误消息的情况。

正则表达式中的语法错误

搜索字符串的结构违背了VBScript正则表达式中的一个或多个语法规则。

要纠正该错误

  • 保证常规的搜索字符串的表达式符合Perlde的表达语法。

错误的数量词

当构造正则表达式的搜索模式时,没有正确的说明匹配的字符串。

要纠正该错误

  • 确保搜索模式是正确构造的。

在正则表达式中需要 ']'

试图为正则表达式匹配创建一个字符类,但未包含右括号。将单独的字符组合放到方括号里可以将其装配到字符类中。例如, /[abc]/ 匹配字母“a”,“b”,或“c”中任意一个。

要纠正该错误

  • 在正则表达式中添加右括号。

在正则表达式中需要 ')'

试图创建常规的嵌套表达式,但未包含“)”。在正则表达式中括号有几个目的。首先,它将分离的项组成为单个子表达式,所以项目可以通过*,+,?等等来当作一个单元来处理。

要纠正该错误

  • 在常规的嵌套表达式中添加右(闭)括号“)”。

字符集越界

试图使用无效字符创建正则表达式。正则表达式是由字母数字和元字符组成的。

要纠正该错误

  • 仅仅使用有效正则表达式字符来组成正则表达式。
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
你可能感兴趣的文章
推荐知识