我想知道在Javascript中實現異常處理的最佳和最簡單的方法。我正在尋找「一點」解決方案。我有很多功能,並不想繞過去實現try-catch。在JavaScript中實現異常處理
我覺得window.onerror會是一個更好的方法,因爲我只需要在一個地方實現這一點,並且任何函數都會出現任何異常,我將能夠使用window.onerror來處理它。但是,這似乎只在IE中支持。有沒有類似的方式可以使用,以便它支持所有主要的標準瀏覽器。
在此先感謝。
我想知道在Javascript中實現異常處理的最佳和最簡單的方法。我正在尋找「一點」解決方案。我有很多功能,並不想繞過去實現try-catch。在JavaScript中實現異常處理
我覺得window.onerror會是一個更好的方法,因爲我只需要在一個地方實現這一點,並且任何函數都會出現任何異常,我將能夠使用window.onerror來處理它。但是,這似乎只在IE中支持。有沒有類似的方式可以使用,以便它支持所有主要的標準瀏覽器。
在此先感謝。
使用try..catch塊
try..catch塊在JavaScript中是非常相似的常規C#try..catch塊。可疑代碼將被放入try塊中,並且try塊中將發生的所有異常將被捕獲塊捕獲。
window.onload = function()
{
try
{
var x = 90;
var value = x/y;
}
catch(err)
{
document.write(err.name + ": " + err.message + "<br/>");
}
}
輸出:
TypeError: 'y' is undefined
在抓你將得到包含異常的類型和描述的對象。你也可以使用finally語句,就像你在C#中使用的一樣。
window.onload = function()
{
try
{
var x = 90;
var value = x/y;
}
catch(err)
{
document.write(err.name + ": " + err.message + "<br/>");
}
finally
{
alert('This is finally block');
}
}
使用onerror事件
onerror事件將在每次有任何錯誤,而在執行文檔中的動作時間上升。這就像在ASP.NET中與Application_Error類似的異常處理。這裏是一個演示此示例代碼:
window.onload = function()
{
var x = 90;
var value = x/y;
}
window.onerror = function(errorMeaage, fileName, lineNumber)
{
document.write('Error: ' + errorMeaage);
}
使用jQuery解決方案
它類似於使用的onerror但使用jQuery語法。語法是:
$(window).error(
function(errorMeaage, fileName, lineNumber)
{
// handle error here
}
);
摘錄如果有隻是一個稱呼對方几個功能,我會做這樣的事情。
try{
main();
}
catch(e){
//error
}
凡的main()將調用一切功能; la,腳本中的入口點。儘管如此,這並不會讓您在下面的代碼中擁有很大的靈活性。因此,考慮製作不同的「層次」函數,每個函數的調用都包含在try ... catch塊中,您可以在其中適當地處理它們。即。
function a(){}
function b(){}
function main(){
//call a, catch any errors
try{
a();
}
catch(e){}
//call b, catch any errors
try{
b();
}
catch(e){}
//and so on...
}
main();
也請看到這個問題:http://stackoverflow.com/questions/205688/javascript-exception-handling – 2011-01-11 06:32:14
[google搜索](http://www.google.com/search?sourceid=chrome&ie= UTF-8&q =例外+ + javascript「例外」)始終有效。 :) – Alex 2011-01-11 06:55:09