try catch finally是ECMAScript-262 第三版提供例外處理機制的標準,語法結構如下:
##
try{ //可能会发生的错误代码 } catch(error){ //错误处理 }finally{ //无论是否有异常都会执行 }
#
function say() { try { console.log(age) return; } catch (erroe) { console.log(erroe.message);//age is not defined return; } finally { console.log('finally 执行了');//finally 执行了 } } say();
try...catch(error){...} 語句中Error 是Error類型拋出的對象,該物件有三個基本的屬性name 錯誤名稱,message錯誤訊息,stack 錯誤堆疊資訊;
在執行程式碼期間可能會發生的錯誤有多種類型,所以Error 又衍生了幾個兒子如:Error rr參見,如果有也是瀏覽器拋出的;這個基底類型的主要目的是供開發人員拋出自定義錯誤。EvalError 建立一個error實例,表示錯誤的原因:與 eval() 有關。
InternalError 建立一個「針對Javascript引擎內部錯誤的例外」所拋出時的實例。 如: "遞迴太多".
RangeError 建立一個error實例,表示錯誤的原因:數值變數或參數超出其有效範圍。
ReferenceError 建立一個error實例,表示錯誤的原因:無效引用。
SyntaxError 建立一個error實例,表示錯誤的原因:eval()解析程式碼的過程中所發生的語法錯誤。
TypeError 建立一個error實例,表示錯誤的原因:變數或參數不屬於有效類型。
URIError 建立一個error實例,表示錯誤的原因:給 encodeURI()或 decodeURl()傳遞的參數無效。
以上是js異常處理try catch finally解釋的詳細內容。更多資訊請關注PHP中文網其他相關文章!