有沒有人知道處理異常和錯誤的好策略。目前,我有不同的代碼處理自己的驗證/錯誤/異常,但我真的有一個集中的策略。我正在考慮一些全球通知系統,如驗證一樣將一些錯誤/例外傳遞給用戶。其他錯誤我會發布到我的後端並記錄下來。Javascript:異常和錯誤策略
例如,驗證錯誤可能包含導致錯誤的元素。這樣我可以添加一個類來突出顯示它,並在之前或之後添加一些文本。
所以如果任何人有關於如何做到這一點的具體事例,我會非常感激。
有沒有人知道處理異常和錯誤的好策略。目前,我有不同的代碼處理自己的驗證/錯誤/異常,但我真的有一個集中的策略。我正在考慮一些全球通知系統,如驗證一樣將一些錯誤/例外傳遞給用戶。其他錯誤我會發布到我的後端並記錄下來。Javascript:異常和錯誤策略
例如,驗證錯誤可能包含導致錯誤的元素。這樣我可以添加一個類來突出顯示它,並在之前或之後添加一些文本。
所以如果任何人有關於如何做到這一點的具體事例,我會非常感激。
如果它是值得的,你可以自定義錯誤,並圍繞這些功能包含默認行爲:
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
如果您的主要問題是關於驗證,我認爲最具體的方法是使用jQuery validation plug-in這是真正可定製的,並且有一個很好的基礎讓您開始處理異常。
我不是javascript的嘗試catch塊的粉絲,但我認爲你也可以從給自己的特定代碼開始到不同的錯誤,並在switch case塊中處理它們。