js中Error对象
js中錯誤對象包括Error、EvalError、InternalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError。
通過Error的構造器可以創建一個錯誤對象。當運行時錯誤產生時,Error的實例對象會被拋出。Error對象也可用于用戶自定義的異常的基礎對象。下面列出了各種內建的標準錯誤類型。
語法
new Error([message[, fileName[,lineNumber]]])參數
message
可選。人類可閱讀的錯誤描述信息。
fileName?
可選。被創建的Error對象的fileName屬性值。默認是調用Error構造器代碼所在的文件 的名字。
lineNumber?
可選。被創建的Error對象的lineNumber屬性值。默認是調用Error構造器代碼所在的文件的行號。
當像函數一樣使用?Error?時?-- 如果沒有?new,它將返回一個?Error?對象。所以,?僅僅調用?Error?產生的結果與通過new?關鍵字構造?Error?對象生成的結果相同。?
// this: const x = Error('I was created using a function call!'); ????// has the same functionality as this: const y = new Error('I was constructed via the "new" keyword!');除了通用的Error構造函數外,JavaScript還有6個其他類型的錯誤構造函數,這6種都是繼承了Error
?EvalError
? ? ? 創建一個error實例,表示錯誤的原因:與 eval() 有關。
InternalError?
? ? ? 創建一個代表Javascript引擎內部錯誤的異常拋出的實例。 如: "遞歸太多".
RangeError
? ? ? 創建一個error實例,表示錯誤的原因:數值變量或參數超出其有效范圍。
ReferenceError
? ? ? 創建一個error實例,表示錯誤的原因:無效引用。
SyntaxError
? ? ? 創建一個error實例,表示錯誤的原因:eval()在解析代碼的過程中發生的語法錯誤。
TypeError
? ? ? 創建一個error實例,表示錯誤的原因:變量或參數不屬于有效類型。
URIError
? ? ? 創建一個error實例,表示錯誤的原因:給 encodeURI()或 ?decodeURl()傳遞的參數無效。
共同點是都可以在對象原型下添加自定義屬性
可以取出來的參數有 message 和 stack 堆棧和name屬性
try{bucunzaihanshu() // 不存在函數必會報錯 }catch(e){//TODO handle the exceptionconsole.log(e.message);console.log(e.stack); } try {throw new EvalError('Hello'); } catch (e) {console.log(e instanceof EvalError); // trueconsole.log(e.message); // "Hello"console.log(e.name); // "EvalError"console.log(e.stack); // "@Scratchpad/2:2:9\n" }其他就不舉例了。
收
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的js中Error对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通配符和正则表达式
- 下一篇: 办公自动化oa按计算机分类,办公室自动化