Either you run the day, or the day runs you.
你不掌握時間,時間就會折磨你。
當 JavaScript 引擎執行 JavaScript 代碼時,會發生各種錯誤:
- 可能是語法錯誤,通常是程序員造成的編碼錯誤或錯別字
- 可能是拼寫錯誤或語言中缺少的功能(可能由于瀏覽器差異)
- 可能是由于來自服務器或用戶的錯誤輸出而導致的錯誤
- 當然,也可能是由于許多其他不可預知的因素
- ...
JavaScript 錯誤處理三大關鍵詞 - throw、try 和 catch
- try - 語句測試代碼塊的錯誤
- catch - 語句處理錯誤
- throw - 語句創建自定義錯誤
JavaScript 拋出(throw)錯誤
當錯誤發生時,當事情出問題時,JavaScript 引擎通常會停止,并生成一個錯誤消息;
描述這種情況的技術術語是:JavaScript 將拋出一個錯誤。
Throw 語句
throw
語句允許我們創建自定義錯誤;
正確的技術術語是:創建或拋出異常(exception
);
如果把 throw
與 try
和 catch
一起使用,那么您能夠控制程序流,并生成自定義的錯誤消息。
Throw 語法
throw exception
catch 會捕捉到這個錯誤,并顯示一段自定義的錯誤消息:
try
{
var x = document.getElementById("demo").value;
if(x=="") throw "empty";
if(isNaN(x)) throw "not a number";
if(x>10) throw "too high";
if(x<5) throw "too low";
}
catch(err)
{
var y = document.getElementById("mess");
y.innerHTML="Error: " + err + ".";
}
JavaScript try 和 catch
try
語句允許我們定義在執行時進行錯誤測試的代碼塊;
catch 語句允許我們定義當 try 代碼塊發生錯誤時,所執行的代碼塊;
catch 塊會捕捉到 try 塊中的錯誤,并執行代碼來處理它;
JavaScript 語句 try 和 catch 是成對出現的。
語法
try
{
//在這里運行代碼
}
catch(err)
{
//在這里處理錯誤
}
實例
try
{
errAlert("Welcome guest!");
}
catch(err)
{
txt="本頁有一個錯誤。\n\n";
txt+="錯誤描述:" + err.message + "\n\n";
txt+="點擊確定繼續。\n\n";
alert(txt);
}
因為 errAlert()
函數未定義,所以會報錯,錯誤信息為:errAlert is not defined