2010-07-21 72 views
3

有沒有人知道處理異常和錯誤的好策略。目前,我有不同的代碼處理自己的驗證/錯誤/異常,但我真的有一個集中的策略。我正在考慮一些全球通知系統,如驗證一樣將一些錯誤/例外傳遞給用戶。其他錯誤我會發布到我的後端並記錄下來。Javascript:異常和錯誤策略

例如,驗證錯誤可能包含導致錯誤的元素。這樣我可以添加一個類來突出顯示它,並在之前或之後添加一些文本。

所以如果任何人有關於如何做到這一點的具體事例,我會非常感激。

回答

2

如果它是值得的,你可以自定義錯誤,並圍繞這些功能包含默認行爲:

function errorHandler() { 

    var error = arguments[1] ; //!! pass the error 
    /* additional arguments */ 

    var errorCode = error.message ; 

    var errorMap = { //!! a map that matches error codes to default behaviour 
     "customErrorName":function() { 
      /* default behaviour for this kind of error */ 
     } , 
     /* more custom error codes and default behaviour */ 
    } 

     if(errorCode in errorMap) { //!! error code has a default behaviour 
      errorMap[ errorCode ]() ; //!! call default behaviour 
     } else { 
      /* log unknown error */ 
     } 

} 

你會在try { ... } catch(e) { ... }塊實現這一點:

try { 
    /* your code */ 
    if(someErrorCondition) { 
     throw new Error("someError") ; 
    } 
} catch(e) { 
    errorHandler(e) ; 
} 

JavaScript中也有默認錯誤類型。在以下鏈接中有一個列表:https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error

0

如果您的主要問題是關於驗證,我認爲最具體的方法是使用jQuery validation plug-in這是真正可定製的,並且有一個很好的基礎讓您開始處理異常。

我不是javascript的嘗試catch塊的粉絲,但我認爲你也可以從給自己的特定代碼開始到不同的錯誤,並在switch case塊中處理它們。