try...catch結構:
catch代碼塊捕獲錯誤之後,程式不會中斷,會按照正常流程繼續執行下去。
錯誤對象<code>e</code>有三個最基本的屬性:
name:錯誤名稱 message:錯誤提示資訊 stack:錯誤的堆棧(非标準屬性,但是大多數平台支援)
注意,我們還可以多次使用catch語句捕獲不同類型的錯誤或者異常。
try...catch...finally結構:
try...catch結構允許在最後添加一個finally代碼塊,表示不管是否出現錯誤,都必需在最後運作的語句。
就算try語句裡面有return語句,也要等到finally語句執行完畢再執行return語句。
error對象是最一般的錯誤類型,在它的基礎上,javascript還定義了其他6種錯誤,也就是說,存在error的6個派生對象。
1、syntaxerror //解析代碼時發生的文法錯誤 2、referenceerror //引用一個不存在的變量時發生的錯誤 3、rangeerror //當一個值超出有效範圍時發生的錯誤 4、typeerror //變量或參數不是預期類型時發生的錯誤 5、urierror //uri相關函數的參數不正确時抛出的錯誤 6、evalerror //eval函數沒有被正确執行時,會抛出evalerror錯誤
throw語句的作用是中斷程式執行,抛出一個意外或錯誤。它接受一個表達式作為參數,可以抛出各種值。
javascript引擎一旦遇到throw語句,就會停止執行後面的語句,并将throw語句的參數值,傳回給使用者。
除了javascript内建的7種錯誤對象,還可以定義自己的錯誤對象。
上面代碼自定義一個錯誤對象usererror,讓它繼承error對象。然後,就可以生成這種自定義的錯誤了。
使用: