如果 VBScript 脚本执行系统无法实施的操作,则会产生 VBScript 运行时错误。只有在运行脚本、为变量表达式赋值或分配内存时,才会产生 VBScript 运行时错误。
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
无效过程调用或参数 在过程调用中传递了一个无效参数。这可能是由于参数超出范围,或包含无效数据。另外,有可能在不适当的时间对过程进行了调用。 要纠正该错误
溢出 试图赋给变量的赋值太大,这是因为:
要纠正该错误
内存不足 分配与该计算机有效内存一样多的内存。这可能是一个动态分配数组增长得太大,或者是对象实例数目过多。 要纠正该错误
下标越界 要访问的数组中元素数目比期望的少。例如试图从一个定义为10个元素的数组中访问到11个元素。. 要纠正该错误
该数组为定长的或者临时被锁定 试图用 ReDim 函数来改变一个定长数组的元素数目。动态数组或者 Variant 变量内的数组可以被暂时的锁定。 要纠正该错误
被零除 创建一个试图将数字被零除的表达式。被零除得到无穷大(不可用)结果。 要纠正该错误
类型不匹配 试图比较不相容数据类型的值。例如,比较一个字符串和一个数值。 要纠正该错误
字符串空间溢出 试图创建字符串对象时系统内存被用尽。这可能是因为动态分配数组越来越大或对象实例的数目过大。 要纠正该错误
无法执行请求的操作 当主机使脚本引擎中断时无法继续执行脚本。主机未指定明确的返回错误代码。 要纠正该错误
堆栈溢出 过程嵌套太深。每次代码从一个过程跳到另一个过程,本地变量的内容被放到堆栈中。堆栈是一个大小随着要求执行的脚本动态增长和缩小的内存工作区域。 要纠正该错误
未定义 Sub 或 Function 试图调用一个不存在的过程。 要纠正该错误
加载 DLL 错误 应用程序引用了一个无法找到的DLL,一个DLL可能引用了另一个无法找到的DLL。 要纠正该错误
内部错误 发生内部错误。 要纠正该错误
未设置对象变量 试图使用无效对象的对象属性。如果遗漏了 Set语句,将在对象引用产生错误。 要纠正该错误
For 循环未初始化 在脚本中执行跳到For...Next 循环中间的结果。由于For...Next 循环计数必须被初始化所以产生错误。下面演示了一个For...Next 循环的正确结构。 For counter = start To end [Step step] [statements] [Exit For] [statements] Next 要纠正该错误
非法使用 Null 试图获得一个为Null 的Variant变量的值。你只能获得包含有效值的Variant 变量的值。Null 是一个 Variant 一个用来指示一个数据项不包含任何有效数据的子类型。 要纠正该错误
需要对象 提供的对象无效(或无法认为是一个对象)。对属性和方法的引用需要一个显式的对象限定符。 要纠正该错误
ActiveX 部件无法创建对象 由于对象类未在系统注册表中注册或者是一个或多个相关的动态链接库无效(DLLs), VBScript 5.5运行时无法初始化对象。另外一种可能情况是,由于未找到或是已经损坏,对象所需的DLL不可用。 要纠正该错误
类不支持自动化 试图操作一个并不支持自动化的对象属性或方法。可以创建并将指针传递给不支持自动化的对象,但是不能获取它的属性和方法。 要纠正该错误
注意 对象可能已经通过使用CreateObject 被创建,但可能已经通过主机对象模型被引入。 在自动化操作中未找到文件名或类名 使用GetObject 函数,但是将一个不可识别的类或文件名作为参数。GetObject 函数要求包含要获取的对象的文件的完整的路径和名称,或者是在系统中注册过的类名称。 要纠正该错误
对象不支持该属性或方法 对该自动化对象指定了一个并不存在的属性或方法。不是所有的对象都支持所有的属性和方法。 要纠正该错误
对象不支持此操作 试图引用该对象不支持的一个方法或属性。不是所有的对象支持所用的操作。 要纠正该错误
对象不支持当前的区域设置 试图操作一个不支持当前区域设置的对象。区域设置是和给定语言以及国家/地区相对应的一系列信息。本地影响预定义程序项的语言和本地特定设置。以下两种情况时本地信息很重要:
要纠正该错误
未找到命名参数 调用一个过程并指定一个特别的参数,但是过程未被定义为接受以为名称的参数。除非在过程定义中出现,一个命名参数不能在过程调用中使用。 要纠正该错误
参数不可选 调用过程但是参数数量错误。传递给过程的参数的数量必须与过程定义的参数数量相同。 要纠正该错误
错误的参数个数或无效的参数属性值 调用过程时如果:
或者,
或者,
传递给过程的参数数目必须与过程定义中的参数数目相符。 要纠正该错误
对象不是一个集合 试图对一个不是 Collection 类型的对象进行只对 Collection 对象有效的操作。有些属性、方法和操作仅可应用于 Collection 对象。Collection 对象是包含一组互相关联的对象的一种对象。一旦集合中发生了改变,一个对象在 Collection 对象中的位置也会发生改变;因此,Collection 对象中的任何一个对象的位置都可能变化。 要纠正该错误
变量使用了 VBScript 不支持的自动化类型 试图使用类型库或者对象库中不被支持的数据类型,任何一门编程语言都不能使用类型库或对象库中的所有变量。 要纠正该错误
远程服务器不存在或者不能访问 用CreateObject函数 来建立一个远程机器的对象,但是调用失败,这是因为无法访问远程服务器或者没有包含特定的类。 要纠正该错误
无效图片 试图加载一个无法识别格式的图像。有效格式包括位图(*.bmp),图标(*.ico),以及Windows 元文件(*.wmf)。 要纠正该错误
变量未定义 在脚本开始处用Option Explicit 语句,后来又使用一个未被说明的变量名称。当使用Option Explicit 语句时,必须用Dim,Private,Public或者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 要纠正该错误
类未定义 引用未定义(通过New 或 Set语句)的类。 要纠正该错误
发生异常 脚本调用COM对象,然后产生异常。 要纠正该错误
正则表达式中的语法错误 搜索字符串的结构违背了VBScript正则表达式中的一个或多个语法规则。 要纠正该错误
错误的数量词 当构造正则表达式的搜索模式时,没有正确的说明匹配的字符串。 要纠正该错误
在正则表达式中需要 ']' 试图为正则表达式匹配创建一个字符类,但未包含右括号。将单独的字符组合放到方括号里可以将其装配到字符类中。例如, /[abc]/ 匹配字母“a”,“b”,或“c”中任意一个。 要纠正该错误
在正则表达式中需要 ')' 试图创建常规的嵌套表达式,但未包含“)”。在正则表达式中括号有几个目的。首先,它将分离的项组成为单个子表达式,所以项目可以通过*,+,?等等来当作一个单元来处理。 要纠正该错误
字符集越界 试图使用无效字符创建正则表达式。正则表达式是由字母数字和元字符组成的。 要纠正该错误
|