當 JavaScript 引擎執行 JavaScript 代碼時,會發生各類錯誤。程序員
多是語法錯誤,一般是程序員形成的編碼錯誤或錯別字。瀏覽器
多是拼寫錯誤或語言中缺乏的功能(可能因爲瀏覽器差別)。服務器
多是因爲來自服務器或用戶的錯誤輸出而致使的錯誤。測試
固然,也多是因爲許多其餘不可預知的因素。編碼
當錯誤發生時,當事情出問題時,JavaScript 引擎一般會中止,並生成一個錯誤消息。spa
描述這種狀況的技術術語是:JavaScript 將拋出一個錯誤。code
try 語句容許咱們定義在執行時進行錯誤測試的代碼塊。對象
catch 語句容許咱們定義當 try 代碼塊發生錯誤時,所執行的代碼塊。blog
JavaScript 語句 try 和 catch 是成對出現的。ip
try { ... //異常的拋出 } catch(e) { ... //異常的捕獲與處理 } finally { ... //結束處理 }
throw 語句容許咱們建立自定義錯誤。
正確的技術術語是:建立或拋出異常(exception)。
若是把 throw 與 try 和 catch 一塊兒使用,那麼您可以控制程序流,並生成自定義的錯誤消息。
異常能夠是 JavaScript 字符串、數字、邏輯值或對象。
function myFunction() { var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "值爲空"; if(isNaN(x)) throw "不是數字"; x = Number(x); if(x < 5) throw "過小"; if(x > 10) throw "太大"; } catch(err) { message.innerHTML = "錯誤: " + err; } }