ECMA-262第三版引入了try-catch語句,作為JS中處理異常的標準方式。基本的語法如下所示
try{ //可能导致错误的代码 } catch(eroor){ //在错误发生时的处理方式 }
即要把所有可能拋出錯誤的程式碼都放在try語句區塊中,如果發生異常,catch語句區塊就會接收到一個包含錯誤訊息的對象,即使不需要使用這個對象,也必須聲明它,如上述程式碼中的error一樣。
除了基本的try-catch語句外,還有finally子句。若加上finally子句,無論是否出現異常錯誤,無論使用什麼程式碼(即使使用return語句),都不影響finally子句的執行,這是非常重要的一點。
function testFinally(){ try{ return 2; } catch(error){ return 1; } finnaly{ return 0; } }
執行上述函數,不會回傳2或1,永遠都是回傳0。
如果提供finally子句,則catch子句就成了可選的(catch或finally有一個即可),但IE7或更早的版本中,如果沒有catch子句,則finally中的程式碼不會執行。
ECMA-262定義了下列7中錯誤類型:Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError。
其中Error是基底類型,其他錯誤類型都會繼承自該類型,因此所有錯誤類型共用一組相同的屬性。 Error類型的錯誤很少見,一般用於開發人員自訂錯誤。
相關推薦:
#以上是JS異常擷取try-catch語句的方法實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!