W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Error對(duì)象的實(shí)例在運(yùn)行時(shí)遇到錯(cuò)誤的情況下會(huì)被當(dāng)做異常拋出。Error對(duì)象也可以作為用戶自定義異常類的基對(duì)象。
當(dāng)Error被作為函數(shù)而不是構(gòu)造器調(diào)用時(shí),它創(chuàng)建并初始化一個(gè)新的Error對(duì)象。這樣函數(shù)調(diào)用Error(…)與同樣參數(shù)的對(duì)象創(chuàng)建表達(dá)式new Error(…)是等效的。
新構(gòu)造的對(duì)象內(nèi)部屬性Prototype會(huì)被設(shè)為原本的Error原型對(duì)象,也就是Error.prototype的初始值。(15.11.3.1)
新構(gòu)造的對(duì)象內(nèi)部屬性Class會(huì)被設(shè)為"Error"。
新構(gòu)造的對(duì)象內(nèi)部屬性Extensible會(huì)被設(shè)為true。
如果形參message不是undefined,新構(gòu)造的對(duì)象本身屬性message則被設(shè)為ToString(message)。
當(dāng)Error作為new表達(dá)式的一部分被調(diào)用時(shí),它是一個(gè)構(gòu)造器:它初始化新創(chuàng)建的對(duì)象。
新構(gòu)造的對(duì)象內(nèi)部屬性Prototype會(huì)被設(shè)為原本的Error原型對(duì)象,也就是Error.prototype的初始值。(15.11.3.1)
新構(gòu)造的對(duì)象內(nèi)部屬性Class會(huì)被設(shè)為"Error"。
新構(gòu)造的對(duì)象內(nèi)部屬性Extensible會(huì)被設(shè)為true。
如果形參message不是undefined,新構(gòu)造的對(duì)象本身屬性message則被設(shè)為ToString(message)。
Error構(gòu)造器的內(nèi)部屬性Prototype值為Function原型對(duì)象(15.3.4)。
除內(nèi)部屬性和length屬性(其值為1)以外,Error構(gòu)造器還有以下屬性:
Error.prototype的初始值為Error原型對(duì)象(15.11.4)。
此屬性有以下特性: { Writable: false, Enumerable: false, Configurable: false }。
Error原型對(duì)象本身是一個(gè)Error對(duì)象(其Class為"Error")。
Error原型對(duì)象的內(nèi)部屬性Prototype為標(biāo)準(zhǔn)內(nèi)置的Object原型對(duì)象(15.2.4)。
Error.prototype.constructor初始值為內(nèi)置的Error構(gòu)造器。
rror.prototype.name初始值為"Error"。
Error.prototype.message初始值為空字符串。
執(zhí)行以下步驟
Error實(shí)例從Error原型對(duì)象繼承屬性,且它們的內(nèi)部屬性class值為"Error"。Error實(shí)例沒有特殊屬性。
以下原生Error對(duì)象之一會(huì)在運(yùn)行時(shí)錯(cuò)誤發(fā)生時(shí)被拋出。所有這些對(duì)象共享同樣的結(jié)構(gòu),如15.11.7所述。
本規(guī)范現(xiàn)在已經(jīng)不再使用這個(gè)異常,這個(gè)對(duì)象保留用于跟規(guī)范之前版本的兼容性。
表示一個(gè)數(shù)值超出了允許的范圍,見15.4.2.2, 15.4.5.1, 15.7.4.2, 15.7.4.5, 15.7.4.6, 以及15.7.4.7, 15.9.5.43.
表示一個(gè)不正確的引用值被檢測(cè)到。見8.7.1, 8.7.2, 10.2.1, 10.2.1.1.4, 10.2.1.2.4, 以及 11.13.1
表示一個(gè)解析錯(cuò)誤發(fā)生。見11.1.5, 11.3.1, 11.3.2, 11.4.1, 11.4.4, 11.4.5, 11.13.1, 11.13.2, 12.2.1, 12.10.1, 12.14.1, 13.1, 15.1.2.1, 15.3.2.1, 15.10.2.2, 15.10.2.5, 15.10.2.9, 15.10.2.15, 15.10.2.19, 15.10.4.1, 以及15.12.2
表示一個(gè)操作數(shù)的真實(shí)類型與期望類型不符。見8.6.2, 8.7.2, 8.10.5, 8.12.5, 8.12.7, 8.12.8, 8.12.9, 9.9, 9.10, 10.2.1, 10.2.1.1.3, 10.6, 11.2.2, 11.2.3, 11.4.1, 11.8.6, 11.8.7, 11.3.1, 13.2, 13.2.3, 15, 15.2.3.2, 15.2.3.3, 15.2.3.4, 15.2.3.5, 15.2.3.6, 15.2.3.7, 15.2.3.8, 15.2.3.9, 15.2.3.10, 15.2.3.11, 15.2.3.12, 15.2.3.13, 15.2.3.14, 15.2.4.3, 15.3.4.2, 15.3.4.3, 15.3.4.4, 15.3.4.5, 15.3.4.5.2, 15.3.4.5.3, 15.3.5, 15.3.5.3, 15.3.5.4, 15.4.4.3, 15.4.4.11, 15.4.4.16, 15.4.4.17, 15.4.4.18, 15.4.4.19, 15.4.4.20, 15.4.4.21, 15.4.4.22, 15.4.5.1, 15.5.4.2, 15.5.4.3, 15.6.4.2, 15.6.4.3, 15.7.4, 15.7.4.2, 15.7.4.4, 15.7.4.8 [?], 15.9.5, 15.9.5.44, 15.10.4.1, 15.10.6, 15.11.4.4 以及 15.12.3
表示全局URI處理函數(shù)被以不符合其定義的方式使用。見 15.1.3。
當(dāng)ECMAScript實(shí)現(xiàn)探測(cè)到一個(gè)運(yùn)行時(shí)錯(cuò)誤時(shí),它拋出一個(gè)15.11.6所定義的NativeError對(duì)象的實(shí)例。每個(gè)這些對(duì)象都有如下所述結(jié)構(gòu),不同僅僅是在name屬性中以構(gòu)造器名稱替換掉NativeError,以及原型對(duì)象由實(shí)現(xiàn)自定義的message屬性。
對(duì)于每個(gè)錯(cuò)誤對(duì)象,定義中到NativeError的引用應(yīng)當(dāng)用15.11.6中具體的對(duì)象名替換。
當(dāng)NativeError被作為函數(shù)而不是構(gòu)造器調(diào)用時(shí),它創(chuàng)建并初始化一個(gè)新的NativeError對(duì)象。這樣函數(shù)調(diào)用NativeError(…)與同樣參數(shù)的對(duì)象創(chuàng)建表達(dá)式new NativeError(…)是等效的。
新構(gòu)造的對(duì)象內(nèi)部屬性Prototype會(huì)被設(shè)為這一錯(cuò)誤構(gòu)造器附帶的原型對(duì)象。新構(gòu)造的對(duì)象內(nèi)部屬性Class會(huì)被設(shè)為"Error"。新構(gòu)造的對(duì)象內(nèi)部屬性Extensible會(huì)被設(shè)為true。
如果形參message不是undefined,新構(gòu)造的對(duì)象本身屬性message則被設(shè)為ToString(message)。
當(dāng)NativeError作為new表達(dá)式的一部分被調(diào)用時(shí),它是一個(gè)構(gòu)造器:它初始化新創(chuàng)建的對(duì)象。
新構(gòu)造的對(duì)象內(nèi)部屬性Prototype會(huì)被設(shè)為這一錯(cuò)誤構(gòu)造器附帶的原型對(duì)象。新構(gòu)造的對(duì)象內(nèi)部屬性Class會(huì)被設(shè)為"Error"。新構(gòu)造的對(duì)象內(nèi)部屬性Extensible會(huì)被設(shè)為true。
如果形參message不是undefined,新構(gòu)造的對(duì)象本身屬性message則被設(shè)為ToString(message)。
NativeError構(gòu)造器的內(nèi)部屬性Prototype值為Function原型對(duì)象(15.3.4)。
除內(nèi)部屬性和length屬性(其值為1)以外,Error構(gòu)造器還有以下屬性:
NativeError.prototype的初始值為一個(gè)Error(15.11.4)。
此屬性有以下特性: { Writable: false, Enumerable: false, Configurable: false }。
每個(gè)NativeError的prototype的初始值為一個(gè)Error(其Class為"Error")。
NativeError原型對(duì)象的內(nèi)部屬性Prototype為標(biāo)準(zhǔn)內(nèi)置的Error對(duì)象(15.2.4)。
對(duì)于特定的NativeError,Error.prototype.constructor初始值為NativeError構(gòu)造器本身。
對(duì)于特定的NativeError,Error.prototype.name初始值為構(gòu)造器的名字。
對(duì)于特定的NativeError,NativeError.prototype.message初始值為空字符串。
NativeError構(gòu)造器的原型他們自身并不提供toString函數(shù),但是錯(cuò)誤的實(shí)例可以從Error原型對(duì)象繼承到它。
NativeError實(shí)例從NativeError原型對(duì)象繼承屬性,且它們的內(nèi)部屬性class值為"Error"。Error實(shí)例沒有特殊屬性。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: