W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
Error對象的實例在運行時遇到錯誤的情況下會被當做異常拋出。Error對象也可以作為用戶自定義異常類的基對象。
當Error被作為函數(shù)而不是構造器調用時,它創(chuàng)建并初始化一個新的Error對象。這樣函數(shù)調用Error(…)與同樣參數(shù)的對象創(chuàng)建表達式new Error(…)是等效的。
新構造的對象內部屬性Prototype會被設為原本的Error原型對象,也就是Error.prototype的初始值。(15.11.3.1)
新構造的對象內部屬性Class會被設為"Error"。
新構造的對象內部屬性Extensible會被設為true。
如果形參message不是undefined,新構造的對象本身屬性message則被設為ToString(message)。
當Error作為new表達式的一部分被調用時,它是一個構造器:它初始化新創(chuàng)建的對象。
新構造的對象內部屬性Prototype會被設為原本的Error原型對象,也就是Error.prototype的初始值。(15.11.3.1)
新構造的對象內部屬性Class會被設為"Error"。
新構造的對象內部屬性Extensible會被設為true。
如果形參message不是undefined,新構造的對象本身屬性message則被設為ToString(message)。
Error構造器的內部屬性Prototype值為Function原型對象(15.3.4)。
除內部屬性和length屬性(其值為1)以外,Error構造器還有以下屬性:
Error.prototype的初始值為Error原型對象(15.11.4)。
此屬性有以下特性: { Writable: false, Enumerable: false, Configurable: false }。
Error原型對象本身是一個Error對象(其Class為"Error")。
Error原型對象的內部屬性Prototype為標準內置的Object原型對象(15.2.4)。
Error.prototype.constructor初始值為內置的Error構造器。
rror.prototype.name初始值為"Error"。
Error.prototype.message初始值為空字符串。
執(zhí)行以下步驟
Error實例從Error原型對象繼承屬性,且它們的內部屬性class值為"Error"。Error實例沒有特殊屬性。
以下原生Error對象之一會在運行時錯誤發(fā)生時被拋出。所有這些對象共享同樣的結構,如15.11.7所述。
本規(guī)范現(xiàn)在已經不再使用這個異常,這個對象保留用于跟規(guī)范之前版本的兼容性。
表示一個數(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.
表示一個不正確的引用值被檢測到。見8.7.1, 8.7.2, 10.2.1, 10.2.1.1.4, 10.2.1.2.4, 以及 11.13.1
表示一個解析錯誤發(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
表示一個操作數(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。
當ECMAScript實現(xiàn)探測到一個運行時錯誤時,它拋出一個15.11.6所定義的NativeError對象的實例。每個這些對象都有如下所述結構,不同僅僅是在name屬性中以構造器名稱替換掉NativeError,以及原型對象由實現(xiàn)自定義的message屬性。
對于每個錯誤對象,定義中到NativeError的引用應當用15.11.6中具體的對象名替換。
當NativeError被作為函數(shù)而不是構造器調用時,它創(chuàng)建并初始化一個新的NativeError對象。這樣函數(shù)調用NativeError(…)與同樣參數(shù)的對象創(chuàng)建表達式new NativeError(…)是等效的。
新構造的對象內部屬性Prototype會被設為這一錯誤構造器附帶的原型對象。新構造的對象內部屬性Class會被設為"Error"。新構造的對象內部屬性Extensible會被設為true。
如果形參message不是undefined,新構造的對象本身屬性message則被設為ToString(message)。
當NativeError作為new表達式的一部分被調用時,它是一個構造器:它初始化新創(chuàng)建的對象。
新構造的對象內部屬性Prototype會被設為這一錯誤構造器附帶的原型對象。新構造的對象內部屬性Class會被設為"Error"。新構造的對象內部屬性Extensible會被設為true。
如果形參message不是undefined,新構造的對象本身屬性message則被設為ToString(message)。
NativeError構造器的內部屬性Prototype值為Function原型對象(15.3.4)。
除內部屬性和length屬性(其值為1)以外,Error構造器還有以下屬性:
NativeError.prototype的初始值為一個Error(15.11.4)。
此屬性有以下特性: { Writable: false, Enumerable: false, Configurable: false }。
每個NativeError的prototype的初始值為一個Error(其Class為"Error")。
NativeError原型對象的內部屬性Prototype為標準內置的Error對象(15.2.4)。
對于特定的NativeError,Error.prototype.constructor初始值為NativeError構造器本身。
對于特定的NativeError,Error.prototype.name初始值為構造器的名字。
對于特定的NativeError,NativeError.prototype.message初始值為空字符串。
NativeError構造器的原型他們自身并不提供toString函數(shù),但是錯誤的實例可以從Error原型對象繼承到它。
NativeError實例從NativeError原型對象繼承屬性,且它們的內部屬性class值為"Error"。Error實例沒有特殊屬性。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: