分享
 
 
 

JScript运行时错误

王朝html/css/js·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

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

十进制

十六进制

说明

十进制

十六进制

说明

5

800A0005

非法过程调用或参数

5000

800A1388

不能给 'this' 赋值

6

800A0006

溢出

5001

800A1389

需要 Number 类型

7

800A0007

内存不足

5002

800A138A

需要 Function 对象

9

800A0009

下标超界

5003

800A138B

不能给函数返回值赋值

10

800A000A

此数组被固定或临时锁定

5004

800A138C

不能索引对象

11

800A000B

零除错误

5005

800A138D

需要 String

13

800A000D

类型失配

5006

800A138E

需要 Date 对象

14

800A000E

串空间不足

5007

800A138F

需要 Object 类型

17

800A0011

不能执行所请求的操作

5008

800A1390

非法赋值

28

800A001C

栈空间不足

5009

800A1391

未定义标识符

35

800A0023

子过程或函数未找到

5010

800A1392

需要 Boolean

48

800A0030

装载DLL出错

5011

800A1393

不能执行来自一个自由脚本的代码

51

800A0033

内部出错

5012

800A1394

需要对象的成员

52

800A0034

坏文件名或数

5013

800A1395

需要 VBArray

53

800A0035

文件未找到

5014

800A1396

需要 JScript 对象

54

800A0036

坏文件模式

5015

800A1397

需要 Enumerator 对象

55

800A0037

文件已经打开

5016

800A1398

需要正则表达式对象

57

800A0039

设备I/O错误

5017

800A1399

正则表达式语法错误

58

800A003A

文件已经存在

5018

800A139A

未预期的限定符

61

800A003D

磁盘空间已满

5019

800A139B

正则表达式中缺少“]”

62

800A003E

输入超出文件尾

5020

800A139C

正则表达式中缺少“)”

67

800A0043

文件太多

5021

800A139D

字符集范围无效

68

800A0044

设备不可用

5022

800A139E

异常抛出,但无法抓住

70

800A0046

权限禁用

5023

800A139F

函数没有合法的 Prototype (原型) 对象

71

800A0047

磁盘未准备好

5024

800A13A0

待解码的 URI 包含有非法字符

74

800A004A

不能用不同的驱动重命名

5025

800A13A1

待解码的 URI 编码非法

75

800A004B

路径/文件访问错误

5026

800A13A2

小数部分的位数越界

76

800A004C

路径未找到

5027

800A13A3

精度越界

91

800A005B

对象变量或With块变量未设置

5028

800A13A4

需要 Array 或 arguments 对象

92

800A005C

For循环未初始化

5029

800A13A5

数组长度必须为一有限正整数

94

800A005E

Null使用无效

5030

800A13A6

必须赋给数组长度一个有限正数

322

800A0042

不能建立所需的临时文件

424

800A01A8

需要对象

429

800A01A9

Automation服务器不能建立对象

430

800A01AE

类不支持Automation

432

800A01B0

在Automation操作中找不到文件名或类名

438

800A01B6

对象不支持这个属性或方法

440

800A01B8

Automation错误

445

800S01BD

对象不支持这个动作

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

对象对建立不安全

不能给 'this' 赋值

试图给 this 赋值,this 是 JScript 关键字,表示:

当前正在执行某个方法的对象,

如果没有当前方法(或该方法不属于任何其它对象),则是指全局对象。

所谓方法就是由对象调用的 JScript 函数。在一个方法内, this 关键字代表调用该方法的对象的引用(这种情况下,就是指使用 new 操作符调用类构造函数所创建的对象)。

在一个方法内可以使用 this 来引用当前对象,但不能对其赋予新的值。

要改正此错误

不要试图对 this 赋值。要访问某个实例化对象的属性或方法,请使用点操作符(例如 circle.radius)。

注意 不能将用户创建的变量命名为 this;这是一个 JScript 保留字。

需要 Number 类型

试图对一个不是Number 类型的对象调用 Number.prototype.toString 或 Number.prototype.valueOf 方法。这种调用类型的对象必须是Number 类型。

要改正此错误

只调用Number 的Number.prototype.toString or Number.prototype.valueOf 方法。

需要 Function 对象

试图对一个不是 Function 对象调用 Function prototype 方法,或者在函数调用上下文中使用了对象。例如,下面的代码将产生该错误,因为 foo 不是一个函数。 var foo = new Object(); // 创建一个称为 "foo" 的新对象。 var x = foo(); // 试图将 foo 作为一个函数加以调用。

要改正此错误

只对 Function 对象调用 Function prototype 方法。

确保只使用函数调用操作符() 来调用函数。

不能给函数返回值赋

试图将一个值赋给函数结果。可以将函数结果赋给某个变量,但其本身不能用作变量。如果希望将一个新值赋给该函数本身,则不要圆括号(函数调用操作符)。下面的示例演示了产生这一错误的情形。 myFunction() = 42; // 试图强将 42 赋给该函数调用的结果。

要改正此错误

不要使用函数调用的值作为赋值对象。可以将函数调用的结果赋给某个变量。 myVar = myFunction(42);

或者,可以将函数本身(不是其返回数值)赋给一个变量。 myFunction = new Function("return 42;");

需要 String

试图对String对象类型之外的其他类型对象调用String.prototype.toString 或 String.prototype.valueOf 方法。这种调用的类型必须是 String 类型。

要改正此错误

在 String 类型对象中只能调用 String.prototype.toString 或 String.prototype.valueOf 方法

需要 Date 对象

试图对一个不是Date 类型的对象调用 Date.prototype.toString 或 Date.prototype.valueOf 方法。这种调用类型的对象必须是 Date 类型。例如: var o = new Object; o.f = Date.prototype.toString; o.f();

要改正此错误

只能对Date 类型的对象调用 Date.prototype.toString 或者 Date.prototype.valueOf 方法。

需要 Object 类型

试图对一个不是Object 类型的对象调用 Object.prototype.toString 或Object.prototype.valueOf 方法。这种调用类型的对象必须是 Object 类型。

要改正此错误

只调用Object 的 Object.prototype.toString 或 Object.prototype.valueOf 方法。

非法赋值

试图对一个只读的标识符赋值。不能对只读的标识符赋值。例如,主机定义对象和外部 COM 对象。

要改正此错误

不要赋值给只读标识符。

未定义标识符

JScript 编译器不认识试图使用的标识符。当出现下述情况时,返回未定义值:

不存在的变量

变量已声明,但从未对其赋值

对象属性不存在。

要改正此错误

用 var 语句声明一个变量(如 var x)。

需要 Boolean

试图用一个不是 Boolean 类型的对象来调用 Boolean.prototype.toString 或者 Boolean.prototype.valueOf 方法。这种调用类型的对象必须是 Boolean 类型。例如: var o = new Object; o.f = Boolean.prototype.toString; o.f();

要改正此错误

只使用 Boolean 类型的对象调用 Boolean.prototype.toString 或 Boolean.prototype.valueOf 方法。

需要对象的成员

试图对某个对象的数据成员执行某个操作,但该成员不存在。

要改正此错误

请确保所输入的数据成员名字是正确的。

需要 VBArray

所提供的对象不是所需要的 Visual Basic 中的 safeArray。 new VBArray(safeArray);

VBArrays 是只读的,且不能直接被创建。safeArray 参数为一个 VBArray 值,并且在被传递给 VBArray构造函数之前必须获得一个 VBArray 值。这个值只能通过检索现有的 ActiveX 或其他对象得到。

要改正此错误

请确保只将 VBArray 对象传递给 VBArray 构造函数。

需要 JScript 对象型

试图将一个非-JScript 对象传给需要 JScript对象的内置函数。各种内置函数都需要在 JScript 中定义的对象(与主机定义的对象和控件之类的外部组件相对)。

要改正此错误

请确保正在作为参数传递的对象具有正确的类型。

需要 Enumerator 对象

试图对一个非 Enumerator 类型的对象调用 Enumerator.prototype.atEnd、 Enumerator.prototype.item、 Enumerator.prototype.moveFirst 或者 Enumerator.prototype.moveNext 方法。这种调用类型的对象必须是 Enumerator 类型。下面是违反这个规则的代码示例: var o = new Object; o.f = Enumerator.prototype.atEnd; o.f();

要改正此错误

只能对Enumerator 类型的对象调用其 Enumerator.prototype.atEnd、Enumerator.prototype.item、Enumerator.prototype.moveFirst 或者 Enumerator.prototype.moveNext 方法。要查找某个对象是否为 Enumerator 对象,请使用: if(x instanceof Enumerator)

需要正则表达式对象

试图对RegExp类型对象之外的其他对象调用 RegExp.prototype.toString 或 RegExp.prototype.valueOf方法。这种调用的类型必须是 RegExp 对象。

要改正此错误

在 RegExp 对象类型 中,只能调用RegExp.prototype.toString 或 RegExp.prototype.valueOf 方法

正则表达式语法错误

查找字符串的结构违反了一条或多条关于 JScript 正则表达式的语法规则。

要改正此错误

确保正则表达式查找字符串的结构与 JScript 正则字符串的语法一致。

未预期的限定符

在组织正则表达式的查找模式时,创建了一个带有非法循环因子的模式元素。例如,模式 /^+/

是非法的,因为元素 ^(输入开始)没有循环因子。下表列出了没有循环因子的元素:

元素

描述

^

输入开始

$

输入结束

\b

词的边界

\B

非单词的边界

*

零个或多个循环

+

零个或多个循环

?

零个或多个循环

{n}

n 循环

{n,}

n 或多个循环

{n,m}

从 n 到 m 循环,包括 m

要改正此错误

请确保查找模式元素仅包括合法的循环因子。

正则表达式中缺少 ']'

试图创建一个用于正则表达式匹配的字符类,但是没有右中括号。单个的文字字符组合可以用括号括起来表示一个字符类。一个字符类可以匹配其中包含的任一字符。例如,/[abc]/ 可以匹配字母 “a”, “b”, 或 “c” 的任何一个。

要改正此错误

给正则表达式加上右中括号。

注意 如果想匹配单中括号,可以使用反斜杠将其转义 - \( - 这样就不会被JScript 解释为特殊字符。)

正则表达式中缺少 ')'

试图创建一个正则表达式捕获、断言和组合,但不包括结束圆括号。正则表达式中的圆括号有多个用途。首先,它们主要用来抓捕子表达式,指定断言、或将模式组合,从而通过 *、+、? 等等使这些项被看作一个单一的单位。

要改正此错误

加上最右边的结束圆括号。

注意 如果想匹配单括号,可以使用反斜杠将其转义 - \( - 这样就不会被 JScript 解释为特殊字符。)

字符集范围无效

试图创建的正则表达式含有无效的字符集范围。字符集的范围必须只能是单个字符的变化,诸如a-z 或 0-9;不能在字符集中包括诸如 \w 的字符类。字符集范围的第一个字符也必须位于范围中第二个字符的前面。例如: var good = /[a-z]/; // 有效的字符范围 - a 在 z 之前。 var notGood = /[z-a]/; // 无效的字符范围 - z 不在 a 之前。

要改正此错误

只使用单字符来组合正则表达式字符集,并确保他们具有正确的顺序。

异常抛出,但无法抓住

在代码中包括了一条 throw 语句,但没有将其包含在某个 try 语句块内,或者没有相关的 catch 语句块来捕获错误。异常是在 try 语句块中使用 throw 语句被抛出,并且应该由 try 语句块外的 catch 语句抓住。

要改正此错误

用 try 语句块将可能产生异常的代码封住,并确保外面有一个相应的 catch 语句块。

确认 catch 语句中为正确的异常格式。

如果异常被再次抛出,确认存在相应的 catch 语句。

函数没有合法的 prototype 对象

试图使用 instanceof 来确定一个对象是否是从某个特定函数类派生而来,但重新定义的该对象的prototype 属性要么是空的,要么是外部对象类型(都不是有效的JScript 对象)。外部对象可能来自主机对象模型(例如, Internet Explorer 的产品和 window 产品,或一个外部的COM 对象)。

要改正此错误

确保函数的 prototype 属性引用了合法的 JScript。

待编码的 URI 包含有非法字符

试图将字符串编码得到 URI(通用资源标识符),但是包含非法字符。尽管字符串中的绝大多数字符都是合法的,可以转换为 URI,但有些 Unicode 字符序列是非法的。

要改正此错误

请确保待编码的字符串只包含合法的 Unicode 序列。

一个完整的 URI 是由一系列部件和分隔符组成的。其通用格式为:

<Scheme>:<first>/<second>;<third>?<fourth>

尖括号内的名称代表部件,而 “:”, “/”, “;” 和 “?” 都是作为分隔符的保留字。

待解码 URI 的编码非法

试图对一个不正确 URI(通用资源标识符)进行解码。URI 具有特殊的语法;绝大多数非字母数字字符在用于 URI 必须加以编码。可以使用 encodeURI 和 encodeURIComponent 方法从一个标准的 JScript 字符串创建一个 URI。

一个完整的 URI 是由一系列部件和分隔符组成的。其通用格式为:

<Scheme>:<first>/<second>;<third>?<fourth>

尖括号内的名称代表部件,而 “:”, “/”, “;” 和 “?” 都是作为分隔符的保留字。

要改正此错误

请确保您只需要对合法的 URI 进行解码。你不能对标准的 JScript 字符串解码,因为它们可能含有非法字符。

小数部分的位数越界

试图将一个非法参数传递给Number.prototype.toExponential()。函数toExponential() 的参数为 0 到 20(含 20)之间。

要改正此错误

请确保的 toExponential() 不是太大也不是太小。

精度越界

试图将一个非法参数传递给 Number.prototype.toPrecision。 给 toPrecision 的参数必须为 1 到 21(含21)之间。

要改正此错误

请确保 toPrecision 不是太大也不是太小。

需要 Array 或 arguments 对象

没有将数组作为参数。这个错误只在 Function.prototype.apply方法中发生。如果使用这个函数,则该函数的第二个参数要么是 Array 对象,要么是 Arguments 对象。

要改正此错误

指定一个 Array 或 Arguments 对象作为第二个参数。

数组长度必须是一个有限正整数

在调用 Array 构造函数时使用的参数不是自然数(所谓自然数就是零加上正整数集合)。

要改正此错误

在创建一个新的 Array 对象时只能使用正整数。如果要创建一个只有一个元素且不是整数的数组,请执行下面两步操作。首先,创建一个只有一个元素的数组,然后将这个值赋给第一个元素 (array[0])。下面的示例将产生这个错误。

var piArray = new Array(3.14159);

下面的示例演示了指定一个只有单个数值元素的数组的正确方法。

var piArray = new Array(1); piArray [0] = 3.14159;

数组大小没有上界限制,但不能超过整数的最大值(大约为40亿)。

必须赋给数组长度一个有限正整数

在对现有 Array 对象设置其 length 属性时,所指定的数组长度不是正整数,也不是零。如果给某个 Array 对象的 length 属性所赋的值时为负数或不是数值 (NaN) 时,就会产生这个错误。请注意 JScript 会自动将小数数值转换为整数。

要改正此错误

将一个正整数赋给 length 属性。数组大小没有上界限制,但不能超过整数的最大值(大约为40亿)。下面的示例演示了给 Array 对象的 length 属性赋值的正确方法。

var my_array = new Array(); my_array.length = 99;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有