Latest web development tutorials
×

JavaScript 教程

JavaScript 教程 JavaScript 簡介 JavaScript 用法 JavaScript 輸出 JavaScript 語法 JavaScript 語句 JavaScript 註釋 JavaScript 變量 JavaScript 數據類型 JavaScript 對象 JavaScript 函數 JavaScript 作用域 JavaScript 事件 JavaScript 字符串 JavaScript 運算符 JavaScript 比較 JavaScript If...Else JavaScript switch JavaScript for JavaScript while JavaScript Break & Continue JavaScript typeof JavaScript 類型轉換 JavaScript 正則表達式 JavaScript 錯誤 JavaScript 調試 JavaScript 變量提升 JavaScript 嚴格模式 JavaScript 使用誤區 JavaScript 表單驗證 JavaScript 保留關鍵字 JavaScript JSON JavaScript void JavaScript 代碼規範

JS 函數

JavaScript 函數定義 JavaScript 函數參數 JavaScript 函數調用 JavaScript 閉包

JS HTML DOM

DOM 簡介 DOM HTML DOM CSS DOM 事件 DOM EventListener DOM 元素

JS 高級教程

JavaScript 對象 JavaScript Number JavaScript String JavaScript Date JavaScript Array JavaScript Boolean JavaScript Math JavaScript RegExp 對象

JS 瀏覽器 BOM

JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript 彈窗 JavaScript 計時事件 JavaScript Cookies

JS 庫

JavaScript 庫 JavaScript 測試 jQuery JavaScript 測試 Prototype

JS 實例

JavaScript 實例 JavaScript 對象實例 JavaScript 瀏覽器對象實例 JavaScript HTML DOM 實例 JavaScript 總結

JS 參考手冊

JavaScript 對象 HTML DOM 對象

JavaScript 錯誤– Throw、Try 和Catch

try語句測試代碼塊的錯誤。

catch語句處理錯誤。

throw語句創建自定義錯誤。


JavaScript 錯誤

當JavaScript 引擎執行JavaScript 代碼時,會發生各種錯誤。

可能是語法錯誤,通常是程序員造成的編碼錯誤或錯別字。

可能是拼寫錯誤或語言中缺少的功能(可能由於瀏覽器差異)。

可能是由於來自服務器或用戶的錯誤輸出而導致的錯誤。

當然,也可能是由於許多其他不可預知的因素。


JavaScript 拋出(throw)錯誤

當錯誤發生時,當事情出問題時,JavaScript 引擎通常會停止,並生成一個錯誤消息。

描述這種情況的技術術語是:JavaScript將拋出一個錯誤。


JavaScript try 和catch

try語句允許我們定義在執行時進行錯誤測試的代碼塊。

catch語句允許我們定義當try代碼塊發生錯誤時,所執行的代碼塊。

JavaScript語句trycatch是成對出現的。

語法

try {
	//在这里运行代码
} catch(err) {
	//在这里处理错误
}

實例

在下面的例子中,我們故意在try 塊的代碼中寫了一個錯字。

catch 塊會捕捉到try 塊中的錯誤,並執行代碼來處理它。

實例

var txt="";
function message()
{
try {
adddlert("Welcome guest!");
} catch(err) {
txt="本頁有一個錯誤。\n\n";
txt+="錯誤描述:" + err.message + "\n\n";
txt+="點擊確定繼續。\n\n";
alert(txt);
}
}

嘗試一下»


Throw 語句

throw 語句允許我們創建自定義錯誤。

正確的技術術語是:創建或拋出異常 (exception)。

如果把throw 與try 和catch 一起使用,那麼您能夠控製程序流,並生成自定義的錯誤消息。

語法

throwexception

異常可以是JavaScript 字符串、數字、邏輯值或對象。

實例

本例檢測輸入變量的值。 如果值是錯誤的,會拋出一個異常(錯誤)。 catch 會捕捉到這個錯誤,並顯示一段自定義的錯誤消息:

function myFunction()
{
	try
	{ 
		var x=document.getElementById("demo").value;
		if(x=="")    throw "值为空";
		if(isNaN(x)) throw "不是数字";
		if(x > 10) throw "太大";
		if(x < 5) throw "太小";
	}
	catch(err)
	{
		var y=document.getElementById("mess");
		y.innerHTML="错误:" + err + "。";
	}
}

嘗試一下»

請注意,如果getElementById 函數出錯,上面的例子也會拋出一個錯誤。