是否有人知道处理异常和错误的良好策略。目前我有不同的代码处理他们自己的验证/错误/异常,但我真的有一个集中的策略。我在考虑一些全局通知系统,它将一些错误/异常传递给用户,如验证。我会发布到后端的其他错误并记录下来。
例如,验证错误可能包含导致错误的元素。这样我可以添加一个类来突出显示它并在之前或之后附加一些文本。
因此,如果有人就如何做到这一点有一些具体的例子我会非常感激。
答案 0 :(得分: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
答案 1 :(得分:0)
如果您的主要问题是关于验证,我认为最具体的方法是使用jQuery validation plug-in这是真正可自定义的,并且有一个很好的基础来开始处理异常。
我不是javascript中尝试catch块的忠实粉丝,但我认为你也可以从为自己提供特殊代码到不同的错误并在switch case blocks中处理它们。